|
|
|
@ -76,15 +76,15 @@ |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="补录状态:"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.recStat" |
|
|
|
placeholder="请输入搜索状态" |
|
|
|
clearable |
|
|
|
style="width: 240px" |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<!-- <el-form-item label="补录状态:">--> |
|
|
|
<!-- <el-input--> |
|
|
|
<!-- v-model="queryParams.recStat"--> |
|
|
|
<!-- placeholder="请输入搜索状态"--> |
|
|
|
<!-- clearable--> |
|
|
|
<!-- style="width: 240px"--> |
|
|
|
<!-- @keyup.enter="handleQuery"--> |
|
|
|
<!-- />--> |
|
|
|
<!-- </el-form-item>--> |
|
|
|
<el-form-item> |
|
|
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> |
|
|
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button> |
|
|
|
@ -135,9 +135,11 @@ |
|
|
|
<el-table-column label="对象中文名" width="100" align="center" prop="tabCnName"></el-table-column> |
|
|
|
<el-table-column label="对象标签" width="200" align="center" prop="batchTabClas"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-popover v-for="item in scope.row.tempTabClas" placement="right" width="auto" trigger="hover"> |
|
|
|
<el-popover placement="right" width="auto" trigger="hover"> |
|
|
|
<template #reference> |
|
|
|
<el-tag v-if="item.clasEffFlag && item.clasEffFlag === '1'">{{item.clasName}}</el-tag> |
|
|
|
<template v-for="item in scope.row.tempTabClas"> |
|
|
|
<el-tag v-if="item.clasEffFlag && item.clasEffFlag === '1'">{{item.clasName}}</el-tag> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<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> |
|
|
|
@ -150,19 +152,24 @@ |
|
|
|
<el-table-column label="补录对象描述" width="150" align="center" prop="tabDesc"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="scope.row.tabDesc && scope.row.tabDesc.length<=20">{{scope.row.tabDesc}}</span> |
|
|
|
<el-tooltip |
|
|
|
<el-tooltip v-if="scope.row.tabDesc && scope.row.tabDesc.length>20" |
|
|
|
popper-style="width:400px" |
|
|
|
effect="dark" |
|
|
|
:content="scope.row.tabDesc" |
|
|
|
placement="bottom" |
|
|
|
> |
|
|
|
<span v-if="scope.row.tabDesc && scope.row.tabDesc.length>20">{{scope.row.tabDesc.slice(0, 20)+'...'}}</span> |
|
|
|
<span>{{scope.row.tabDesc.slice(0, 20)+'...'}}</span> |
|
|
|
</el-tooltip> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="对象类型" align="center" prop="tabType"></el-table-column> |
|
|
|
<el-table-column label="对象治理标志" width="120" align="center" prop="govFlag"></el-table-column> |
|
|
|
<el-table-column label="补录审批状态" width="120" align="center" prop="recStat"></el-table-column> |
|
|
|
<el-table-column label="对象治理标志" width="120" align="center" prop="govFlag"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="scope.row.govFlag === '0'">是</span> |
|
|
|
<span v-else>否</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<!-- <el-table-column label="补录审批状态" width="120" align="center" prop="recStat"></el-table-column>--> |
|
|
|
<el-table-column label="负责人" align="center" prop="pic"></el-table-column> |
|
|
|
<el-table-column label="采集时间" width="200" align="center" prop="extractUpdTime"> |
|
|
|
<template #default="scope"> |
|
|
|
@ -327,9 +334,11 @@ |
|
|
|
<!-- </el-table-column>--> |
|
|
|
<el-table-column label="字段标签" width="150" align="center" prop="fldClas"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-popover v-for="item in scope.row.tempFldClas" placement="right" width="auto" trigger="hover"> |
|
|
|
<el-popover placement="right" width="auto" trigger="hover"> |
|
|
|
<template #reference> |
|
|
|
<el-tag v-if="item.clasEffFlag === '1'">{{item.clasName}}</el-tag> |
|
|
|
<template v-for="item in scope.row.tempFldClas"> |
|
|
|
<el-tag v-if="item.clasEffFlag === '1'">{{item.clasName}}</el-tag> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<div> |
|
|
|
<div style="margin: 5px" v-for="item in scope.row.showFldClas"><el-tag v-if="item.clasEffFlag === '1'">{{item.clasName + ":" + item.clasValue}}</el-tag></div> |
|
|
|
@ -342,7 +351,26 @@ |
|
|
|
<!-- <span>{{scope.row.fldNullRate}}</span>--> |
|
|
|
<!-- </template>--> |
|
|
|
<!-- </el-table-column>--> |
|
|
|
<el-table-column label="引用字典/标准" align="center" prop="dataDictName"></el-table-column> |
|
|
|
<el-table-column label="引用字典/标准" align="center" prop="dataDictId"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-popover v-if="scope.row.dataDictName && scope.row.dataDictName.length>0" placement="left" :width="400" trigger="click"> |
|
|
|
<template #reference> |
|
|
|
<el-link type="primary" @click="showDataDict(scope.row.dataDictId)">{{scope.row.dataDictName}}</el-link> |
|
|
|
</template> |
|
|
|
<el-form :model="currentDictForm" v-loading="currentDictForm.loading"> |
|
|
|
<el-form-item label="字典归属"><span>{{currentDictForm.dataDictVestName}}</span></el-form-item> |
|
|
|
<el-form-item label="来源系统"><span>{{currentDictForm.srcSysName}}</span></el-form-item> |
|
|
|
<el-form-item label="数据字典类型"><span>{{currentDictForm.dataDictType === '0'?"基础数据":"指标数据"}}</span></el-form-item> |
|
|
|
<el-form-item label="数据字典编号"><span>{{currentDictForm.dataDictNo}}</span></el-form-item> |
|
|
|
<el-form-item label="字典英文名"><span>{{currentDictForm.dataDictEngName}}</span></el-form-item> |
|
|
|
<el-form-item label="字典中文名"><span>{{currentDictForm.dataDictCnName}}</span></el-form-item> |
|
|
|
<el-form-item label="字典业务定义"><span>{{currentDictForm.dataDictBusiMean}}</span></el-form-item> |
|
|
|
<el-form-item label="数据类型"><span>{{currentDictForm.dataDictDataType}}</span></el-form-item> |
|
|
|
<el-form-item label="数据标准"><span>{{currentDictForm.dataStdValue}}</span></el-form-item> |
|
|
|
</el-form> |
|
|
|
</el-popover> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="安全等级" align="center" prop="dataSecLvl"></el-table-column> |
|
|
|
<el-table-column label="更新时间" align="center" prop="suppUpdTime" width="180"> |
|
|
|
<template #default="scope"> |
|
|
|
@ -547,7 +575,7 @@ |
|
|
|
<el-option |
|
|
|
v-for="item in stddictOptions" |
|
|
|
:key="item.onum" |
|
|
|
:label="item.dataDictCnName" |
|
|
|
:label="item.dataDictEngName + ' - '+item.dataDictCnName" |
|
|
|
:value="item.onum"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
@ -849,7 +877,7 @@ |
|
|
|
<script setup name="Meta"> |
|
|
|
import {getDataSourceList, getMetaDataList, getColumnList, getMetaClasList, postMetaSupp, getMetaDataRelship, getMetaDataBloodRelship, getProcData, runBloodAnalysis, publishAstData} from "@/api/meta/metaInfo" |
|
|
|
import { getMetaSecurityData } from "@/api/dataAsset/directory" |
|
|
|
import { listStdDictNoPage } from "@/api/datastd/std.js" |
|
|
|
import {getStdDict, listStdDictNoPage, listStdMainSelect} from "@/api/datastd/std.js" |
|
|
|
import { ref, nextTick, computed, watch, reactive, onMounted } from 'vue' |
|
|
|
import SQLCodeMirror from "@/components/codemirror/SQLCodeMirror.vue"; |
|
|
|
import cache from "@/plugins/cache"; |
|
|
|
@ -860,6 +888,7 @@ |
|
|
|
import {getDirectoryTree} from "@/api/metadataConfig/directory.js"; |
|
|
|
import {EditPen} from "@element-plus/icons-vue"; |
|
|
|
import { useRoute} from 'vue-router'; |
|
|
|
import {datasourcetree} from "@/api/meta/metatask.js"; |
|
|
|
const data = reactive({ |
|
|
|
queryParams:{ |
|
|
|
ssysId:'', |
|
|
|
@ -868,7 +897,7 @@ |
|
|
|
colName:'', |
|
|
|
tabType:'', |
|
|
|
tagName:'', |
|
|
|
recStat:'', |
|
|
|
// recStat:'', |
|
|
|
pageNum:1, |
|
|
|
pageSize:10 |
|
|
|
}, |
|
|
|
@ -885,6 +914,7 @@ |
|
|
|
tags:[] |
|
|
|
} |
|
|
|
}) |
|
|
|
const { proxy } = getCurrentInstance(); |
|
|
|
const route = useRoute(); |
|
|
|
// const router = useRouter() |
|
|
|
const { queryParams, currentMetaData } = toRefs(data); |
|
|
|
@ -894,6 +924,8 @@ |
|
|
|
const columnList = ref([]); |
|
|
|
const tableTagDialog = ref(false); |
|
|
|
const metaClasList = ref([]); |
|
|
|
const currentDictForm = ref({}); |
|
|
|
const { std_code_status } = proxy.useDict("std_code_status","std_code_appr"); |
|
|
|
const columnInfoDialog = ref(false); |
|
|
|
const currentColumnData = ref({}); |
|
|
|
const loadingBusiness = ref(false); |
|
|
|
@ -922,7 +954,6 @@ |
|
|
|
const procId = ref(-1); |
|
|
|
const activeColumnTab = ref("column"); |
|
|
|
const businessOptionSelect = ref("er"); |
|
|
|
const { proxy } = getCurrentInstance(); |
|
|
|
const changedColumns = ref([]) |
|
|
|
const businessRelation = ref([]) |
|
|
|
const bloodRelation = ref([]) |
|
|
|
@ -1384,9 +1415,43 @@ |
|
|
|
getMetaClasList().then(res=>{ |
|
|
|
metaClasList.value = res.data |
|
|
|
}) |
|
|
|
remoteStddict() |
|
|
|
// remoteStddict() |
|
|
|
remoteSecLvl() |
|
|
|
} |
|
|
|
function showDataDict(dictId){ |
|
|
|
currentDictForm.value.loading = true |
|
|
|
getStdDict(dictId).then(res=>{ |
|
|
|
currentDictForm.value = {...res.data} |
|
|
|
if (std_code_status.value && std_code_status.value.length>0){ |
|
|
|
for (let i = 0; i < std_code_status.value.length; i++) { |
|
|
|
if (std_code_status.value[i].value === currentDictForm.value.dataDictVest){ |
|
|
|
currentDictForm.value.dataDictVestName = std_code_status.value[i].label |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
datasourcetree().then((response) => { |
|
|
|
let dataList = response.rows; |
|
|
|
if (dataList && dataList.length>0){ |
|
|
|
for (let i = 0; i < dataList.length; i++) { |
|
|
|
if (dataList[i].id === currentDictForm.value.srcSys){ |
|
|
|
currentDictForm.value.srcSysName = dataList[i].name |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
listStdMainSelect("").then(res=>{ |
|
|
|
let dataList = res.data; |
|
|
|
if(dataList && dataList.length>0){ |
|
|
|
for (let i = 0; i < dataList.length; i++) { |
|
|
|
if(currentDictForm.value.dataStdNo === dataList[i].dataStdNo){ |
|
|
|
currentDictForm.value.dataStdValue = dataList[i].dataStdNo + '-' + dataList[i].dataStdEngName + '-' + dataList[i].dataStdCnName |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
currentDictForm.value.loading = false |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
function showColumnDialog(row) { |
|
|
|
columnList.value = [] |
|
|
|
let tableData = JSON.parse(JSON.stringify(row)) |
|
|
|
@ -1486,6 +1551,7 @@ |
|
|
|
getDirectoryTree({pageSize: 999}).then(res => { |
|
|
|
directoryTree.value = res.rows |
|
|
|
}) |
|
|
|
remoteStddict(); |
|
|
|
} |
|
|
|
|
|
|
|
function findFullPathNames(targetId) { |
|
|
|
@ -1529,7 +1595,7 @@ |
|
|
|
colName:'', |
|
|
|
tabType:'', |
|
|
|
tagName:'', |
|
|
|
recStat:'', |
|
|
|
// recStat:'', |
|
|
|
pageNum:1, |
|
|
|
pageSize:10 |
|
|
|
} |
|
|
|
@ -1767,7 +1833,7 @@ |
|
|
|
// fldNullRate: column.fldNullRate, |
|
|
|
dataDictId: column.dataDictId, |
|
|
|
dataSecLvl: column.dataSecLvl, |
|
|
|
recStat: column.recStat |
|
|
|
// recStat: column.recStat |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1798,7 +1864,6 @@ |
|
|
|
queryParams.value.tabName = route.query.tabName |
|
|
|
} |
|
|
|
handleQuery().then(()=>{ |
|
|
|
console.log(dataList.value.length) |
|
|
|
if (dataList.value.length === 1){ |
|
|
|
showColumnDialog(dataList.value[0]) |
|
|
|
} |
|
|
|
|