|
|
@ -101,7 +101,18 @@ |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="对象中文名" width="100" align="center" prop="tabCnName"></el-table-column> |
|
|
|
<el-table-column label="对象标签" width="250" align="center" prop="clasNames"></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"> |
|
|
|
<template #reference> |
|
|
|
<el-tag v-if="item.clasEffFlag && item.clasEffFlag === '1'">{{item.clasName}}</el-tag> |
|
|
|
</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> |
|
|
|
</div> |
|
|
|
</el-popover> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="记录数" width="80" align="center" prop="tabRecNum"></el-table-column> |
|
|
|
<el-table-column label="补录对象名称" width="150" align="center" prop="tabCrrctName"></el-table-column> |
|
|
|
<el-table-column label="补录对象描述" width="150" align="center" prop="tabDesc"></el-table-column> |
|
|
@ -203,9 +214,13 @@ |
|
|
|
<el-divider content-position="left">对象标签集合 |
|
|
|
<el-button icon="Plus" type="primary" text @click="openTableTagsDialog">新增</el-button> |
|
|
|
</el-divider> |
|
|
|
<el-tag style="margin-left: 10px;margin-top: 10px" v-for="tag in currentMetaData.tags" :key="tag.tagName +'-'+tag.tagValue" size="large" closable type="primary" @close="handleTableTagClose(tag)"> |
|
|
|
{{ tag.tagName }} |
|
|
|
</el-tag> |
|
|
|
<template v-for="(tag,index) in currentMetaData.tags"> |
|
|
|
<el-tag style="margin-left: 10px;margin-top: 10px" :key="tag.clasName +'-'+tag.clasValue" |
|
|
|
v-if="tag.clasEffFlag && tag.clasEffFlag === '1'" |
|
|
|
size="large" closable type="primary" @close="handleTableTagClose(index)"> |
|
|
|
{{ tag.clasName}} |
|
|
|
</el-tag> |
|
|
|
</template> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
@ -242,45 +257,44 @@ |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="字段补录名" width="150" align="center" prop="fldCrrctName"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="oldColumnsData[scope.$index].fldCrrctName" style="color:#67C23A">{{scope.row.fldCrrctName}}</span> |
|
|
|
<span v-else>{{scope.row.fldCrrctName}}</span> |
|
|
|
<span>{{scope.row.fldCrrctName}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="补录主键" align="center" prop="crrctPkFlag"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="oldColumnsData[scope.$index].crrctPkFlag" style="color:#67C23A">{{scope.row.crrctPkFlag}}</span> |
|
|
|
<span v-else>{{scope.row.crrctPkFlag}}</span> |
|
|
|
<span>{{scope.row.crrctPkFlag}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="补录字段描述" align="center" prop="fldDesc"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="oldColumnsData[scope.$index].fldDesc" style="color:#67C23A">{{scope.row.fldDesc}}</span> |
|
|
|
<span v-else>{{scope.row.fldDesc}}</span> |
|
|
|
<span>{{scope.row.fldDesc}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<!-- <el-table-column label="状态" width="120" align="center" prop="suppRecStat">--> |
|
|
|
<!-- <template #default="scope">--> |
|
|
|
<!-- <span v-if="oldColumnsData[scope.$index].suppRecStat" style="color:#67C23A">{{scope.row.suppRecStat}}</span>--> |
|
|
|
<!-- <span v-else>{{scope.row.suppRecStat}}</span>--> |
|
|
|
<!-- <span>{{scope.row.suppRecStat}}</span>--> |
|
|
|
<!-- </template>--> |
|
|
|
<!-- </el-table-column>--> |
|
|
|
<el-table-column label="负责人" align="center" prop="pic"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="oldColumnsData[scope.$index].pic" style="color:#67C23A">{{scope.row.pic}}</span> |
|
|
|
<span v-else>{{scope.row.pic}}</span> |
|
|
|
<span>{{scope.row.pic}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="字段标签" width="150" align="center" prop="fldClas"> |
|
|
|
<template #default="scope"> |
|
|
|
<template v-if="scope.row.fldClas && scope.row.fldClas !== ''"> |
|
|
|
<el-tag v-for="item in JSON.parse(scope.row.fldClas)">{{item.tagName}}</el-tag> |
|
|
|
</template> |
|
|
|
<el-popover v-for="item in scope.row.tempFldClas" placement="right" width="auto" trigger="hover"> |
|
|
|
<template #reference> |
|
|
|
<el-tag v-if="item.clasEffFlag === '1'">{{item.clasName}}</el-tag> |
|
|
|
</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> |
|
|
|
</div> |
|
|
|
</el-popover> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="字段空值率" align="center" prop="fldNullRate"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="oldColumnsData[scope.$index].fldNullRate" style="color:#67C23A">{{scope.row.fldNullRate}}</span> |
|
|
|
<span v-else>{{scope.row.fldNullRate}}</span> |
|
|
|
<span>{{scope.row.fldNullRate}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="引用字典/标准" align="center"></el-table-column> |
|
|
@ -294,8 +308,8 @@ |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
</el-tab-pane> |
|
|
|
<el-tab-pane label="业务关系" name="businessRelation">Config</el-tab-pane> |
|
|
|
<el-tab-pane label="血缘关系" name="bloodRelation">Role</el-tab-pane> |
|
|
|
<el-tab-pane label="业务关系" name="businessRelation">业务关系</el-tab-pane> |
|
|
|
<el-tab-pane label="血缘关系" name="bloodRelation">血缘关系</el-tab-pane> |
|
|
|
<el-tab-pane label="存储过程" name="proc"> |
|
|
|
<SQLCodeMirror :data="procStr"></SQLCodeMirror> |
|
|
|
</el-tab-pane> |
|
|
@ -346,29 +360,35 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table v-loading="loading" :data="tableTags"> |
|
|
|
<el-table-column label="标签编号" width="80" align="center" prop="tagOnum"></el-table-column> |
|
|
|
<el-table-column label="标签名称" width="120" align="center" prop="tagName"></el-table-column> |
|
|
|
<el-table-column label="标签值" width="170" align="center" prop="tagValue" > |
|
|
|
<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 v-model="scope.row.tagValue"></el-input> |
|
|
|
<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 v-model="scope.row.tagRemark"></el-input> |
|
|
|
<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="标签状态" align="center" prop="tagStatus"> |
|
|
|
<el-table-column label="设置方式" width="80" align="center" prop="tagSource"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row.tagStatus"></el-input> |
|
|
|
<span>{{scope.row.tagSource ? scope.row.tagSource:'自动'}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="设置方式" width="80" align="center" prop="tagSource"></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 link type="primary" icon="Delete" @click.prevent="deleteTableTag(scope.$index)">删除</el-button> |
|
|
|
<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> |
|
|
@ -475,30 +495,35 @@ |
|
|
|
<el-button type="primary" icon="Plus" @click="addColumnTag">新增</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table :data="currentColumnData.fldClas"> |
|
|
|
<el-table-column label="标签编号" width="80" align="center" prop="tagOnum"></el-table-column> |
|
|
|
<el-table-column label="标签名称" width="120" align="center" prop="tagName"></el-table-column> |
|
|
|
<el-table-column label="标签值" width="170" align="center" prop="tagValue" > |
|
|
|
<el-table :data="currentColumnData.showFldClas"> |
|
|
|
<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 v-model="scope.row.tagValue"></el-input> |
|
|
|
<el-input :disabled="scope.row.clasEffFlag === '0'" @input="changeTagValue(scope.row)" v-model="scope.row.clasValue"></el-input> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="标签值说明" width="170" align="center" prop="tagRemark"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row.tagRemark"></el-input> |
|
|
|
<el-input :disabled="scope.row.clasEffFlag === '0'" @input="changeTagValue(scope.row)" v-model="scope.row.tagRemark"></el-input> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="标签状态" align="center" prop="tagStatus"> |
|
|
|
<el-table-column label="标签状态" align="center" prop="clasEffFlag"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-input v-model="scope.row.tagStatus"></el-input> |
|
|
|
<span>{{ (scope.row.clasEffFlag === '1')?'有效':'无效' }}</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="tagSource"></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 link type="primary" icon="Delete" @click.prevent="deleteColumnTag(scope.$index)">删除</el-button> |
|
|
|
<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> |
|
|
@ -554,7 +579,6 @@ |
|
|
|
const metaClasList = ref([]); |
|
|
|
const columnInfoDialog = ref(false); |
|
|
|
const currentColumnData = ref({}); |
|
|
|
const oldColumnsData = ref([]); |
|
|
|
const currentTableTag = ref({ |
|
|
|
"clasThreClas": "", |
|
|
|
"clasOnum": null, |
|
|
@ -595,57 +619,116 @@ |
|
|
|
tableTagDialog.value = false |
|
|
|
} |
|
|
|
function confirmColumn(){ |
|
|
|
let changed = false |
|
|
|
for (let i = 0; i < columnList.value.length; i++) { |
|
|
|
if (columnList.value[i].fldEngName === currentColumnData.value.fldEngName){ |
|
|
|
if (columnList.value[i].fldCrrctName !== currentColumnData.value.fldCrrctName){ |
|
|
|
columnList.value[i].fldCrrctName = currentColumnData.value.fldCrrctName |
|
|
|
oldColumnsData.value[i].fldCrrctName = true |
|
|
|
changed = true |
|
|
|
} |
|
|
|
if (columnList.value[i].fldDesc !== currentColumnData.value.fldDesc){ |
|
|
|
columnList.value[i].fldDesc = currentColumnData.value.fldDesc |
|
|
|
oldColumnsData.value[i].fldDesc = true |
|
|
|
changed = true |
|
|
|
} |
|
|
|
if (columnList.value[i].crrctPkFlag !== currentColumnData.value.crrctPkFlag){ |
|
|
|
columnList.value[i].crrctPkFlag = currentColumnData.value.crrctPkFlag |
|
|
|
oldColumnsData.value[i].crrctPkFlag = true |
|
|
|
changed = true |
|
|
|
} |
|
|
|
// if (columnList.value[i].suppRecStat !== currentColumnData.value.suppRecStat){ |
|
|
|
// columnList.value[i].suppRecStat = currentColumnData.value.suppRecStat |
|
|
|
// oldColumnsData.value[i].suppRecStat = true |
|
|
|
// } |
|
|
|
if (columnList.value[i].pic !== currentColumnData.value.pic){ |
|
|
|
columnList.value[i].pic = currentColumnData.value.pic |
|
|
|
oldColumnsData.value[i].pic = true |
|
|
|
changed = true |
|
|
|
} |
|
|
|
if (columnList.value[i].fldNullRate !== currentColumnData.value.fldNullRate){ |
|
|
|
columnList.value[i].fldNullRate = currentColumnData.value.fldNullRate |
|
|
|
oldColumnsData.value[i].fldNullRate = true |
|
|
|
changed = true |
|
|
|
} |
|
|
|
if (columnList.value[i].fldClas !== null && columnList.value[i].fldClas !== ''){ |
|
|
|
if (JSON.parse(columnList.value[i].fldClas) !== currentColumnData.value.fldClas){ |
|
|
|
columnList.value[i].fldClas = JSON.stringify(currentColumnData.value.fldClas) |
|
|
|
oldColumnsData.value[i].fldClas = true |
|
|
|
if (currentColumnData.value.showFldClas && currentColumnData.value.showFldClas.length > 0){ |
|
|
|
let showFldClas = currentColumnData.value.showFldClas |
|
|
|
let fldClas = [] |
|
|
|
for (let j = 0; j < showFldClas.length; j++) { |
|
|
|
let col = showFldClas[j] |
|
|
|
if (col.clasEffFlag === '0'){ // 无效 |
|
|
|
fldClas.push(col) |
|
|
|
}else{ // 有效 |
|
|
|
if (col.tagSource === '手动'){ |
|
|
|
fldClas.push(col) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (columnList.value[i].fldClas && columnList.value[i].fldClas !== '[]'){ |
|
|
|
if (JSON.stringify(fldClas) !== columnList.value[i].fldClas){ |
|
|
|
columnList.value[i].fldClas = JSON.stringify(fldClas) |
|
|
|
changed = true |
|
|
|
} |
|
|
|
}else { |
|
|
|
if (fldClas.length !== 0){ |
|
|
|
columnList.value[i].fldClas = JSON.stringify(fldClas) |
|
|
|
changed = true |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
if (currentColumnData.value.fldClas.length > 0){ |
|
|
|
columnList.value[i].fldClas = JSON.stringify(currentColumnData.value.fldClas) |
|
|
|
oldColumnsData.value[i].fldClas = true |
|
|
|
let batchFldClas = columnList.value[i].batchFldClas |
|
|
|
if (fldClas.length > 0){ |
|
|
|
for (let j = 0; j < fldClas.length; j++) { |
|
|
|
for (let k = 0; k < batchFldClas.length; k++) { |
|
|
|
if (batchFldClas[k].clasPriClas === fldClas[j].clasPriClas |
|
|
|
&& batchFldClas[k].clasScdClas === fldClas[j].clasScdClas |
|
|
|
&& batchFldClas[k].clasThreClas === fldClas[j].clasThreClas |
|
|
|
&& batchFldClas[k].clasName === fldClas[j].clasName |
|
|
|
){ |
|
|
|
batchFldClas[k] = fldClas[j] |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
let tempFldClas = [] |
|
|
|
if (batchFldClas && batchFldClas.length>0){ |
|
|
|
for (let j = 0; j < batchFldClas.length; j++) { |
|
|
|
if (tempFldClas.length > 0){ |
|
|
|
let hasClas = false |
|
|
|
for (let k = 0; k < tempFldClas.length; k++) { |
|
|
|
if (tempFldClas[k].clasPriClas === batchFldClas[j].clasPriClas |
|
|
|
&& tempFldClas[k].clasScdClas === batchFldClas[j].clasScdClas |
|
|
|
&& tempFldClas[k].clasThreClas === batchFldClas[j].clasThreClas |
|
|
|
){ |
|
|
|
hasClas = true |
|
|
|
} |
|
|
|
} |
|
|
|
if (hasClas){ |
|
|
|
break |
|
|
|
}else { |
|
|
|
if (batchFldClas[j].clasEffFlag === '1'){ |
|
|
|
tempFldClas.push(batchFldClas[j]) |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
if (batchFldClas[j].clasEffFlag === '1'){ |
|
|
|
tempFldClas.push(batchFldClas[j]) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
columnList.value[i].showFldClas = batchFldClas |
|
|
|
columnList.value[i].tempFldClas = tempFldClas |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
columnInfoDialog.value = false |
|
|
|
changedColumns.value.push(currentColumnData.value) |
|
|
|
if (changed){ |
|
|
|
changedColumns.value.push(currentColumnData.value) |
|
|
|
} |
|
|
|
} |
|
|
|
function addTableTag(){ |
|
|
|
let json = JSON.parse(JSON.stringify(currentTableTag.value)) |
|
|
|
if (json.clasOnum !== null){ |
|
|
|
tableTags.value.push({ |
|
|
|
tagOnum: json.clasOnum, |
|
|
|
tagName: json.clasName, |
|
|
|
tagValue: '', |
|
|
|
onum: json.clasOnum, |
|
|
|
clasName: json.clasName, |
|
|
|
clasValue: '', |
|
|
|
tagRemark:'', |
|
|
|
tagStatus:'', |
|
|
|
clasEffFlag:'1', |
|
|
|
tagSource:'手工', |
|
|
|
setUser: cache.local.get("username"), |
|
|
|
setTime: getNowDateTime() |
|
|
@ -658,12 +741,12 @@ |
|
|
|
function addColumnTag(){ |
|
|
|
let json = JSON.parse(JSON.stringify(currentColumnTag.value)) |
|
|
|
if (json.clasOnum !== null){ |
|
|
|
currentColumnData.value.fldClas.push({ |
|
|
|
tagOnum: json.clasOnum, |
|
|
|
tagName: json.clasName, |
|
|
|
tagValue: '', |
|
|
|
currentColumnData.value.showFldClas.push({ |
|
|
|
onum: json.clasOnum, |
|
|
|
clasName: json.clasName, |
|
|
|
clasValue: '', |
|
|
|
tagRemark:'', |
|
|
|
tagStatus:'', |
|
|
|
clasEffFlag:'1', |
|
|
|
tagSource:'手工', |
|
|
|
setUser: cache.local.get("username"), |
|
|
|
setTime: getNowDateTime() |
|
|
@ -684,11 +767,17 @@ |
|
|
|
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
|
|
|
|
|
|
|
} |
|
|
|
function deleteTableTag(index){ |
|
|
|
tableTags.value.splice(index,1) |
|
|
|
function deleteTag(row){ |
|
|
|
row.clasEffFlag = '0' |
|
|
|
row.tagSource = '手动' |
|
|
|
} |
|
|
|
function deleteColumnTag(index){ |
|
|
|
currentColumnData.value.fldClas.splice(index,1) |
|
|
|
function revertTag(row){ |
|
|
|
row.clasEffFlag = '1' |
|
|
|
row.tagSource = '手动' |
|
|
|
} |
|
|
|
|
|
|
|
function changeTagValue(row){ |
|
|
|
row.tagSource = '手动' |
|
|
|
} |
|
|
|
function changeTableTag(){ |
|
|
|
if (typeof currentTableTag.value.clasOnum !== null){ |
|
|
@ -710,12 +799,13 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
function handleTableTagClose(tag){ |
|
|
|
for (let i = 0; i < currentMetaData.value.tags.length; i++) { |
|
|
|
if (tag.tagName === currentMetaData.value.tags[i].tagName && tag.tagValue === currentMetaData.value.tags[i].tagValue){ |
|
|
|
currentMetaData.value.tags.splice(i, 1); |
|
|
|
} |
|
|
|
} |
|
|
|
function handleTableTagClose(index){ |
|
|
|
currentMetaData.value.tags[index].clasEffFlag = '0' |
|
|
|
// for (let i = 0; i < currentMetaData.value.tags.length; i++) { |
|
|
|
// if (tag.tagName === currentMetaData.value.tags[i].tagName && tag.tagValue === currentMetaData.value.tags[i].tagValue){ |
|
|
|
// currentMetaData.value.tags.splice(i, 1); |
|
|
|
// } |
|
|
|
// } |
|
|
|
} |
|
|
|
function openTableTagsDialog(){ |
|
|
|
tableTagDialog.value = true |
|
|
@ -743,7 +833,7 @@ |
|
|
|
"clasPriClas": "", |
|
|
|
"clasScdClas": "" |
|
|
|
} |
|
|
|
currentColumnData.value.fldClas = (row.fldClas === null || row.fldClas === '')?[]:JSON.parse(row.fldClas) |
|
|
|
currentColumnData.value.showFldClas = JSON.parse(JSON.stringify(row.showFldClas)) |
|
|
|
getMetaClasList().then(res=>{ |
|
|
|
metaClasList.value = res.data |
|
|
|
}) |
|
|
@ -759,7 +849,7 @@ |
|
|
|
tabDesc:tableData.tabDesc, |
|
|
|
govFlag:tableData.govFlag, |
|
|
|
pic:tableData.pic, |
|
|
|
tags: tableData.tabClas? JSON.parse(tableData.tabClas):[] |
|
|
|
tags: tableData.showTabClas |
|
|
|
} |
|
|
|
let columnData = { |
|
|
|
tabName: row.tabEngName, |
|
|
@ -768,14 +858,55 @@ |
|
|
|
} |
|
|
|
getColumnList(columnData).then(res=>{ |
|
|
|
columnList.value = res.data |
|
|
|
oldColumnsData.value = [] |
|
|
|
for (let i = 0; i < columnList.value.length; i++) { |
|
|
|
oldColumnsData.value.push({ |
|
|
|
fldCrrctName:false, |
|
|
|
crrctPkFlag:false, |
|
|
|
fldDesc:false, |
|
|
|
pic:false, |
|
|
|
}) |
|
|
|
if (columnList.value.length>0){ |
|
|
|
for (let i = 0; i < columnList.value.length; i++) { |
|
|
|
let batchFldClas = columnList.value[i].batchFldClas |
|
|
|
let fldClas =[] |
|
|
|
if (columnList.value[i].fldClas && columnList.value[i].fldClas !== '[]'){ |
|
|
|
fldClas = JSON.parse(columnList.value[i].fldClas) |
|
|
|
} |
|
|
|
if (fldClas.length > 0){ |
|
|
|
for (let j = 0; j < fldClas.length; j++) { |
|
|
|
for (let k = 0; k < batchFldClas.length; k++) { |
|
|
|
if (batchFldClas[k].clasPriClas === fldClas[j].clasPriClas |
|
|
|
&& batchFldClas[k].clasScdClas === fldClas[j].clasScdClas |
|
|
|
&& batchFldClas[k].clasThreClas === fldClas[j].clasThreClas |
|
|
|
&& batchFldClas[k].clasName === fldClas[j].clasName |
|
|
|
){ |
|
|
|
batchFldClas[k] = fldClas[j] |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
let tempFldClas = [] |
|
|
|
if (batchFldClas && batchFldClas.length>0){ |
|
|
|
for (let j = 0; j < batchFldClas.length; j++) { |
|
|
|
if (tempFldClas.length > 0){ |
|
|
|
let hasClas = false |
|
|
|
for (let k = 0; k < tempFldClas.length; k++) { |
|
|
|
if (tempFldClas[k].clasPriClas === batchFldClas[j].clasPriClas |
|
|
|
&& tempFldClas[k].clasScdClas === batchFldClas[j].clasScdClas |
|
|
|
&& tempFldClas[k].clasThreClas === batchFldClas[j].clasThreClas){ |
|
|
|
hasClas = true |
|
|
|
} |
|
|
|
} |
|
|
|
if (hasClas){ |
|
|
|
break |
|
|
|
}else { |
|
|
|
if (batchFldClas[j].clasEffFlag === '1'){ |
|
|
|
tempFldClas.push(batchFldClas[j]) |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
if (batchFldClas[j].clasEffFlag === '1') { |
|
|
|
tempFldClas.push(batchFldClas[j]) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
columnList.value[i].showFldClas = batchFldClas |
|
|
|
columnList.value[i].tempFldClas = tempFldClas |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
drawer.value = true |
|
|
@ -818,6 +949,56 @@ |
|
|
|
function getList(){ |
|
|
|
getMetaDataList(queryParams.value).then(res=>{ |
|
|
|
dataList.value = res.data.rows |
|
|
|
if (dataList.value.length>0){ |
|
|
|
for (let i = 0; i < dataList.value.length; i++) { |
|
|
|
let batchTabClas = dataList.value[i].batchTabClas |
|
|
|
let tabClas =[] |
|
|
|
if (dataList.value[i].tabClas && dataList.value[i].tabClas !== '[]'){ |
|
|
|
tabClas = JSON.parse(dataList.value[i].tabClas) |
|
|
|
} |
|
|
|
if (tabClas.length > 0){ |
|
|
|
for (let j = 0; j < tabClas.length; j++) { |
|
|
|
for (let k = 0; k < batchTabClas.length; k++) { |
|
|
|
if (batchTabClas[k].clasPriClas === tabClas[j].clasPriClas |
|
|
|
&& batchTabClas[k].clasScdClas === tabClas[j].clasScdClas |
|
|
|
&& batchTabClas[k].clasThreClas === tabClas[j].clasThreClas |
|
|
|
&& batchTabClas[k].clasName === tabClas[j].clasName |
|
|
|
){ |
|
|
|
batchTabClas[k] = tabClas[j] |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
let tempTabClas = [] |
|
|
|
if (batchTabClas && batchTabClas.length>0){ |
|
|
|
for (let j = 0; j < batchTabClas.length; j++) { |
|
|
|
if (tempTabClas.length > 0){ |
|
|
|
let hasClas = false |
|
|
|
for (let k = 0; k < tempTabClas.length; k++) { |
|
|
|
if (tempTabClas[k].clasPriClas === batchTabClas[j].clasPriClas |
|
|
|
&& tempTabClas[k].clasScdClas === batchTabClas[j].clasScdClas |
|
|
|
&& tempTabClas[k].clasThreClas === batchTabClas[j].clasThreClas){ |
|
|
|
hasClas = true |
|
|
|
} |
|
|
|
} |
|
|
|
if (hasClas){ |
|
|
|
break |
|
|
|
}else { |
|
|
|
if (batchTabClas[j].clasEffFlag === '1'){ |
|
|
|
tempTabClas.push(batchTabClas[j]) |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
if (batchTabClas[j].clasEffFlag === '1') { |
|
|
|
tempTabClas.push(batchTabClas[j]) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
dataList.value[i].showTabClas = batchTabClas |
|
|
|
dataList.value[i].tempTabClas = tempTabClas |
|
|
|
} |
|
|
|
} |
|
|
|
loading.value = false |
|
|
|
total.value = res.data.total |
|
|
|
}) |
|
|
@ -858,7 +1039,7 @@ |
|
|
|
crrctPkFlag: column.crrctPkFlag, |
|
|
|
fldDesc: column.fldDesc, |
|
|
|
pic: column.pic, |
|
|
|
fldClas: JSON.stringify(column.fldClas), |
|
|
|
fldClas: JSON.stringify(column.showFldClas), |
|
|
|
fldNullRate: column.fldNullRate, |
|
|
|
recStat: column.recStat |
|
|
|
}) |
|
|
|