一个流程对应多个角色图的检测功能增强,查询角色图是否有相关
This commit is contained in:
parent
91c08d3194
commit
c8e8aabfe8
@ -204,8 +204,8 @@
|
||||
<el-table
|
||||
v-loading="roleMultiError.loading"
|
||||
:data="roleMultiError.list"
|
||||
stripe
|
||||
height="650"
|
||||
:row-style="getRowStyle"
|
||||
style="width: 100%">
|
||||
<el-table-column
|
||||
prop="no"
|
||||
@ -236,9 +236,108 @@
|
||||
width="180">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="roleVersion"
|
||||
label="版本号"
|
||||
prop="activeRelationCount"
|
||||
label="关联了..."
|
||||
width="50">
|
||||
<template #default="scope">
|
||||
<template v-if="scope.row.activeRelationCount > 0">
|
||||
<el-popover
|
||||
trigger="hover"
|
||||
placement="top"
|
||||
width="500px"
|
||||
>
|
||||
<!-- 关联模型标题 -->
|
||||
<div class="popover-section-title">关联了其他模型</div>
|
||||
|
||||
<!-- 表格容器(带滚动条) -->
|
||||
<div class="popover-table-container">
|
||||
<table class="popover-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>当前角色节点</th>
|
||||
<th>模型名称</th>
|
||||
<th>节点名称</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr
|
||||
v-for="item in scope.row.activeRelationList"
|
||||
:key="item.id"
|
||||
>
|
||||
<td>{{ item.currShapeName }}</td>
|
||||
<td>{{ item.modelName }}</td>
|
||||
<td>{{ item.shapeName }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 触发元素(显示关联数量) -->
|
||||
<template #reference>
|
||||
<el-tag
|
||||
size="medium"
|
||||
type="info"
|
||||
>
|
||||
{{ scope.row.activeRelationCount }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-popover>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span class="zero-count">0</span>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="passiveRelationCount"
|
||||
label="被...关联"
|
||||
width="50">
|
||||
<template #default="scope">
|
||||
<template v-if="scope.row.passiveRelationCount > 0">
|
||||
<el-popover
|
||||
trigger="hover"
|
||||
placement="top"
|
||||
width="600px"
|
||||
>
|
||||
<!-- 关联模型标题 -->
|
||||
<div class="popover-section-title">被其他模型关联</div>
|
||||
|
||||
<!-- 表格容器(带滚动条) -->
|
||||
<div class="popover-table-container">
|
||||
<table class="popover-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>当前角色节点</th>
|
||||
<th>模型名称</th>
|
||||
<th>节点名称</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr
|
||||
v-for="item in scope.row.passiveRelationList"
|
||||
:key="item.id"
|
||||
>
|
||||
<td>{{ item.currShapeName }}</td>
|
||||
<td>{{ item.modelName }}</td>
|
||||
<td>{{ item.shapeName }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 触发元素(显示关联数量) -->
|
||||
<template #reference>
|
||||
<el-tag
|
||||
size="medium"
|
||||
type="info"
|
||||
>
|
||||
{{ scope.row.passiveRelationCount }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-popover>
|
||||
</template>
|
||||
<span v-else class="zero-count">0</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="roleId"
|
||||
@ -248,6 +347,22 @@
|
||||
prop="roleVersionId"
|
||||
label="角色版本ID">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createUser"
|
||||
label="创建人">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="创建时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="updateUser"
|
||||
label="修改人">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="updateTime"
|
||||
label="修改时间">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
@ -763,6 +878,21 @@ export default defineComponent({
|
||||
that.roleMultiError.list = '';
|
||||
that.roleMultiError.desc = '';
|
||||
}
|
||||
const getRowStyle = ({row}) => {
|
||||
return {
|
||||
backgroundColor: row.color,
|
||||
color: $this.getTextColor(row.color), // 自动适配文字颜色
|
||||
};
|
||||
}
|
||||
const getTextColor = (bgColor) => {
|
||||
if (!bgColor) return "#f00";
|
||||
const hex = bgColor.replace("#", "");
|
||||
const r = parseInt(hex.substr(0, 2), 16);
|
||||
const g = parseInt(hex.substr(2, 2), 16);
|
||||
const b = parseInt(hex.substr(4, 2), 16);
|
||||
const brightness = (r * 299 + g * 587 + b * 114) / 1000;
|
||||
return brightness > 128 ? "#000" : "#fff";
|
||||
}
|
||||
return {
|
||||
tabs,
|
||||
roleVersionIdError,
|
||||
@ -793,13 +923,45 @@ export default defineComponent({
|
||||
checkErrorVerModel,
|
||||
updateErrorVerModel,
|
||||
checkErrorMultiModel,
|
||||
updateErrorMultiModel
|
||||
updateErrorMultiModel,
|
||||
getRowStyle,
|
||||
getTextColor
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.el-table__row {
|
||||
background-color: inherit !important;
|
||||
}
|
||||
.popover-table-container {
|
||||
max-height: 280px; /* 限制高度 */
|
||||
overflow-y: auto; /* 内容过多时显示滚动条 */
|
||||
margin: 10px 0; /* 增加外边距 */
|
||||
}
|
||||
.popover-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
.popover-table th,
|
||||
.popover-table td {
|
||||
padding: 10px 12px;
|
||||
border-bottom: 1px solid #ebeef5;
|
||||
text-align: left;
|
||||
}
|
||||
.popover-table th {
|
||||
background-color: #f5f7fa; /* 表头背景色 */
|
||||
font-weight: bold;
|
||||
}
|
||||
.popover-section-title {
|
||||
font-weight: bold;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.zero-count {
|
||||
color: #999;
|
||||
font-size: 14px;
|
||||
}
|
||||
.data-migration {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user