|
@ -583,10 +583,12 @@ |
|
|
<el-dialog |
|
|
<el-dialog |
|
|
v-model="astPublish" |
|
|
v-model="astPublish" |
|
|
title="数据资产发布" |
|
|
title="数据资产发布" |
|
|
width="1100" |
|
|
width="1400" |
|
|
> |
|
|
> |
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="dataAstList"> |
|
|
<el-table v-loading="loading" :data="dataAstList"> |
|
|
|
|
|
<el-table-column label="数据资产编号" align="center" prop="astNo"></el-table-column> |
|
|
|
|
|
<el-table-column label="数据资产来源" align="center" prop="dataAstSrc"></el-table-column> |
|
|
<el-table-column label="数据资产英文名称" align="center" prop="dataAstEngName"></el-table-column> |
|
|
<el-table-column label="数据资产英文名称" align="center" prop="dataAstEngName"></el-table-column> |
|
|
<el-table-column label="数据资产中文名称" align="center" prop="dataAstCnName"></el-table-column> |
|
|
<el-table-column label="数据资产中文名称" align="center" prop="dataAstCnName"></el-table-column> |
|
|
<el-table-column label="数据资产类型" align="center" prop="dataAstType"></el-table-column> |
|
|
<el-table-column label="数据资产类型" align="center" prop="dataAstType"></el-table-column> |
|
@ -595,22 +597,21 @@ |
|
|
<el-input v-model="scope.row.dataAstDesc" ></el-input> |
|
|
<el-input v-model="scope.row.dataAstDesc" ></el-input> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<!-- <el-table-column label="数据资产标签" align="center" prop="dataAstClas">--> |
|
|
<el-table-column label="数据资产标签" align="center" prop="dataAstClas"> |
|
|
<!-- <template #default="scope">--> |
|
|
<template #default="scope"> |
|
|
<!-- <el-popover v-for="item in JSON.parse(scope.row.dataAstClas)" placement="right" width="auto" trigger="hover">--> |
|
|
<el-popover v-for="item in scope.row.tempTabClas" placement="right" width="auto" trigger="hover"> |
|
|
<!-- <template #reference>--> |
|
|
<template #reference> |
|
|
<!-- <el-tag v-if="item.clasEffFlag && item.clasEffFlag === '1'">{{item.clasName}}</el-tag>--> |
|
|
<el-tag v-if="item.clasEffFlag && item.clasEffFlag === '1'">{{item.clasName}}</el-tag> |
|
|
<!-- </template>--> |
|
|
</template> |
|
|
<!-- <div>--> |
|
|
<div> |
|
|
<!-- <div style="margin: 5px" v-for="item in scope.row.showTabClas"><el-tag v-if="item.clasEffFlag && item.clasEffFlag === '1'">{{item.clasName + ":" + item.clasValue}}</el-tag></div>--> |
|
|
<div style="margin: 5px" v-for="item in scope.row.showTabClas"><el-tag v-if="item.clasEffFlag && item.clasEffFlag === '1'">{{item.clasName + ":" + item.clasValue}}</el-tag></div> |
|
|
<!-- </div>--> |
|
|
</div> |
|
|
<!-- </el-popover>--> |
|
|
</el-popover> |
|
|
<!-- </template>--> |
|
|
</template> |
|
|
<!-- </el-table-column>--> |
|
|
</el-table-column> |
|
|
<el-table-column label="数据资产来源" align="center" prop="dataAstSrc"></el-table-column> |
|
|
<el-table-column label="操作" align="center" width="180"> |
|
|
<el-table-column label="数据资产编号" align="center" prop="astNo"></el-table-column> |
|
|
|
|
|
<el-table-column label="操作" align="center" width="80"> |
|
|
|
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
|
|
|
<el-button link type="primary" icon="Edit" @click.prevent="editAstTab(scope.$index,scope.row)">编辑标签</el-button> |
|
|
<el-button link type="danger" icon="Delete" @click.prevent="deleteAstData(scope.row)">删除</el-button> |
|
|
<el-button link type="danger" icon="Delete" @click.prevent="deleteAstData(scope.row)">删除</el-button> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
@ -625,6 +626,90 @@ |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
<el-dialog |
|
|
|
|
|
v-model="astTagDialog" |
|
|
|
|
|
title="配置标签分类" |
|
|
|
|
|
width="1100" |
|
|
|
|
|
> |
|
|
|
|
|
<el-form :model="currentAstTag" :inline="true" label-width="75px"> |
|
|
|
|
|
<el-form-item label="一级分类:" prop="userName"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="currentAstTag.clasPriClas" |
|
|
|
|
|
disabled |
|
|
|
|
|
style="width: 240px" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="二级分类:"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="currentAstTag.clasScdClas" |
|
|
|
|
|
disabled |
|
|
|
|
|
style="width: 240px" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="三级分类:"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="currentAstTag.clasThreClas" |
|
|
|
|
|
disabled |
|
|
|
|
|
style="width: 240px" |
|
|
|
|
|
></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="选择标签:"> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="currentAstTag.clasOnum" |
|
|
|
|
|
filterable |
|
|
|
|
|
style="width: 240px" |
|
|
|
|
|
@change="changeAstTag" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option v-for="item in metaClasList" :key="item.clasOnum" :value="item.clasOnum" :label="item.clasOnum+' - '+item.clasName"/> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item> |
|
|
|
|
|
<el-button type="primary" icon="Plus" @click="addAstTag">新增</el-button> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<el-table v-loading="loading" :data="astTags"> |
|
|
|
|
|
<el-table-column label="标签编号" width="80" align="center" prop="onum"></el-table-column> |
|
|
|
|
|
<el-table-column label="标签名称" width="120" align="center" prop="clasName"></el-table-column> |
|
|
|
|
|
<el-table-column label="标签值" width="170" align="center" prop="clasValue" > |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<el-input @input="changeTagValue(scope.row)" v-model="scope.row.clasValue" :disabled="scope.row.clasEffFlag !== '1'"></el-input> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column label="标签值说明" width="170" align="center" prop="tagRemark"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<el-input @input="changeTagValue(scope.row)" v-model="scope.row.tagRemark" :disabled="scope.row.clasEffFlag !== '1'"></el-input> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column label="标签状态" align="center" prop="clasEffFlag"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span v-if="scope.row.clasEffFlag === '1'" style="color:#67C23A;">{{'有效'}}</span> |
|
|
|
|
|
<span v-else style="color: #F56C6C">{{'已删除'}}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column label="设置方式" width="80" align="center" prop="tagSource"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<span>{{scope.row.tagSource ? scope.row.tagSource:'自动'}}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column label="设置对象" width="80" align="center" prop="setUser"></el-table-column> |
|
|
|
|
|
<el-table-column label="设置时间" width="150" align="center" prop="setTime"></el-table-column> |
|
|
|
|
|
<el-table-column label="操作" align="center" width="80"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<el-button v-if="scope.row.clasEffFlag === '1'" link type="danger" icon="Delete" @click.prevent="deleteTag(scope.row)">删除</el-button> |
|
|
|
|
|
<el-button v-if="scope.row.clasEffFlag === '0'" link type="success" icon="RefreshLeft" @click.prevent="revertTag(scope.row)">恢复</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
<template #footer> |
|
|
|
|
|
<div class="dialog-footer"> |
|
|
|
|
|
<el-button @click="astTagDialog = false">取消</el-button> |
|
|
|
|
|
<el-button type="primary" @click="confirmAstTags"> |
|
|
|
|
|
确定 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
@ -709,6 +794,17 @@ |
|
|
const selectedRows = ref([]) |
|
|
const selectedRows = ref([]) |
|
|
const dataAstList= ref([]) |
|
|
const dataAstList= ref([]) |
|
|
const astPublish = ref(false) |
|
|
const astPublish = ref(false) |
|
|
|
|
|
const astTagDialog = ref(false) |
|
|
|
|
|
const astTags = ref([]) |
|
|
|
|
|
const currentAstTag = ref({ |
|
|
|
|
|
"index":-1, |
|
|
|
|
|
"clasThreClas": "", |
|
|
|
|
|
"clasOnum": null, |
|
|
|
|
|
"clasName": "", |
|
|
|
|
|
"recSubmPrsn": "", |
|
|
|
|
|
"clasPriClas": "", |
|
|
|
|
|
"clasScdClas": "" |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
function changeColumnTab(){ |
|
|
function changeColumnTab(){ |
|
|
if (activeColumnTab.value === 'businessRelation'){ |
|
|
if (activeColumnTab.value === 'businessRelation'){ |
|
@ -762,6 +858,39 @@ |
|
|
currentMetaData.value.tags = JSON.parse(JSON.stringify(tableTags.value)) |
|
|
currentMetaData.value.tags = JSON.parse(JSON.stringify(tableTags.value)) |
|
|
tableTagDialog.value = false |
|
|
tableTagDialog.value = false |
|
|
} |
|
|
} |
|
|
|
|
|
function confirmAstTags(){ |
|
|
|
|
|
dataAstList.value[currentAstTag.value.index].dataAstClas = JSON.parse(JSON.stringify(astTags.value)) |
|
|
|
|
|
let tempTabClas = [] |
|
|
|
|
|
if (astTags.value.length>0){ |
|
|
|
|
|
for (let j = 0; j < astTags.value.length; j++) { |
|
|
|
|
|
if (tempTabClas.length > 0){ |
|
|
|
|
|
let hasClas = false |
|
|
|
|
|
for (let k = 0; k < tempTabClas.length; k++) { |
|
|
|
|
|
if (tempTabClas[k].clasPriClas === astTags.value[j].clasPriClas |
|
|
|
|
|
&& tempTabClas[k].clasScdClas === astTags.value[j].clasScdClas |
|
|
|
|
|
&& tempTabClas[k].clasThreClas === astTags.value[j].clasThreClas){ |
|
|
|
|
|
hasClas = true |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (hasClas){ |
|
|
|
|
|
break |
|
|
|
|
|
}else { |
|
|
|
|
|
if (astTags.value[j].clasEffFlag === '1'){ |
|
|
|
|
|
tempTabClas.push(astTags.value[j]) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}else { |
|
|
|
|
|
if (astTags.value[j].clasEffFlag === '1') { |
|
|
|
|
|
tempTabClas.push(astTags.value[j]) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
dataAstList.value[currentAstTag.value.index].showTabClas = astTags.value |
|
|
|
|
|
dataAstList.value[currentAstTag.value.index].tempTabClas = tempTabClas |
|
|
|
|
|
dataAstList.value[currentAstTag.value.index].dataAstClas = JSON.stringify(astTags.value) |
|
|
|
|
|
astTagDialog.value = false |
|
|
|
|
|
} |
|
|
function confirmColumn(){ |
|
|
function confirmColumn(){ |
|
|
let changed = false |
|
|
let changed = false |
|
|
for (let i = 0; i < columnList.value.length; i++) { |
|
|
for (let i = 0; i < columnList.value.length; i++) { |
|
@ -881,6 +1010,24 @@ |
|
|
proxy.$modal.msgWarning("请选择一个标签"); |
|
|
proxy.$modal.msgWarning("请选择一个标签"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
function addAstTag(){ |
|
|
|
|
|
let json = JSON.parse(JSON.stringify(currentTableTag.value)) |
|
|
|
|
|
if (json.clasOnum !== null){ |
|
|
|
|
|
tableTags.value.push({ |
|
|
|
|
|
onum: json.clasOnum, |
|
|
|
|
|
clasName: json.clasName, |
|
|
|
|
|
clasValue: '', |
|
|
|
|
|
tagRemark:'', |
|
|
|
|
|
clasEffFlag:'1', |
|
|
|
|
|
tagSource:'手工', |
|
|
|
|
|
setUser: cache.local.get("username"), |
|
|
|
|
|
setTime: getNowDateTime() |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
proxy.$modal.msgWarning("请选择一个标签"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
function addColumnTag(){ |
|
|
function addColumnTag(){ |
|
|
let json = JSON.parse(JSON.stringify(currentColumnTag.value)) |
|
|
let json = JSON.parse(JSON.stringify(currentColumnTag.value)) |
|
@ -933,6 +1080,16 @@ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
function changeAstTag(){ |
|
|
|
|
|
if (typeof currentAstTag.value.clasOnum !== null){ |
|
|
|
|
|
for (let i = 0; i <metaClasList.value.length; i++) { |
|
|
|
|
|
let item = metaClasList.value[i] |
|
|
|
|
|
if (item.clasOnum === currentAstTag.value.clasOnum){ |
|
|
|
|
|
currentAstTag.value = item |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
function changeColumnTag(){ |
|
|
function changeColumnTag(){ |
|
|
if (typeof currentColumnTag.value.clasOnum !== null){ |
|
|
if (typeof currentColumnTag.value.clasOnum !== null){ |
|
|
for (let i = 0; i <metaClasList.value.length; i++) { |
|
|
for (let i = 0; i <metaClasList.value.length; i++) { |
|
@ -1218,6 +1375,11 @@ |
|
|
const index = dataAstList.value.findIndex(item => item.astNo === row.astNo); |
|
|
const index = dataAstList.value.findIndex(item => item.astNo === row.astNo); |
|
|
dataAstList.value.splice(index,1) |
|
|
dataAstList.value.splice(index,1) |
|
|
} |
|
|
} |
|
|
|
|
|
function editAstTab(index,row) { |
|
|
|
|
|
astTagDialog.value = true |
|
|
|
|
|
astTags.value = JSON.parse(JSON.stringify(row.showTabClas)) |
|
|
|
|
|
currentAstTag.value.index = index |
|
|
|
|
|
} |
|
|
function applyDataAst(){ |
|
|
function applyDataAst(){ |
|
|
if(selectedRows.value.length === 0){ |
|
|
if(selectedRows.value.length === 0){ |
|
|
proxy.$modal.msgWarning("请至少选择一条元数据进行发布") |
|
|
proxy.$modal.msgWarning("请至少选择一条元数据进行发布") |
|
@ -1232,7 +1394,9 @@ |
|
|
dataAstDesc:'', |
|
|
dataAstDesc:'', |
|
|
dataAstSrc: row.ssysCd, |
|
|
dataAstSrc: row.ssysCd, |
|
|
astNo: row.extractOnum, |
|
|
astNo: row.extractOnum, |
|
|
dataAstClas: JSON.stringify(row.batchTabClas) |
|
|
// dataAstClas: JSON.stringify(row.batchTabClas) |
|
|
|
|
|
showTabClas: row.showTabClas, |
|
|
|
|
|
tempTabClas: row.tempTabClas |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|