|
|
@@ -146,6 +146,86 @@
|
|
|
<el-table-column prop="level_3_classification" label="三级分类" width="120" v-if="infoType === 'work'" />
|
|
|
<el-table-column prop="level_4_classification" label="四级分类" width="120" v-if="infoType === 'work'" />
|
|
|
<el-table-column prop="professional_field" label="专业领域" width="120" v-if="infoType === 'basis'" />
|
|
|
+ <el-table-column label="参编单位" min-width="150" v-if="infoType === 'basis'">
|
|
|
+ <template #default="scope">
|
|
|
+ <template v-if="scope.row.participating_units">
|
|
|
+ <el-popover
|
|
|
+ placement="top"
|
|
|
+ :width="350"
|
|
|
+ trigger="hover"
|
|
|
+ popper-class="tag-popover"
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <div class="tag-group">
|
|
|
+ <el-tag
|
|
|
+ v-for="(unit, idx) in scope.row.participating_units.split(';').slice(0, 2)"
|
|
|
+ :key="idx"
|
|
|
+ size="small"
|
|
|
+ class="info-tag"
|
|
|
+ >
|
|
|
+ {{ unit }}
|
|
|
+ </el-tag>
|
|
|
+ <el-tag v-if="scope.row.participating_units.split(';').length > 2" size="small" type="info" class="info-tag">
|
|
|
+ +{{ scope.row.participating_units.split(';').length - 2 }}
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="popover-tag-list">
|
|
|
+ <el-tag
|
|
|
+ v-for="(unit, idx) in scope.row.participating_units.split(';')"
|
|
|
+ :key="idx"
|
|
|
+ size="small"
|
|
|
+ class="popover-info-tag"
|
|
|
+ >
|
|
|
+ {{ unit }}
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ <span v-else>-</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="参考依据" min-width="150" v-if="infoType === 'basis'">
|
|
|
+ <template #default="scope">
|
|
|
+ <template v-if="scope.row.reference_basis">
|
|
|
+ <el-popover
|
|
|
+ placement="top"
|
|
|
+ :width="350"
|
|
|
+ trigger="hover"
|
|
|
+ popper-class="tag-popover"
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <div class="tag-group">
|
|
|
+ <el-tag
|
|
|
+ v-for="(basis, idx) in scope.row.reference_basis.split(';').slice(0, 2)"
|
|
|
+ :key="idx"
|
|
|
+ size="small"
|
|
|
+ type="info"
|
|
|
+ class="info-tag"
|
|
|
+ >
|
|
|
+ {{ basis }}
|
|
|
+ </el-tag>
|
|
|
+ <el-tag v-if="scope.row.reference_basis.split(';').length > 2" size="small" type="info" class="info-tag">
|
|
|
+ +{{ scope.row.reference_basis.split(';').length - 2 }}
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="popover-tag-list">
|
|
|
+ <el-tag
|
|
|
+ v-for="(basis, idx) in scope.row.reference_basis.split(';')"
|
|
|
+ :key="idx"
|
|
|
+ size="small"
|
|
|
+ type="info"
|
|
|
+ class="popover-info-tag"
|
|
|
+ >
|
|
|
+ {{ basis }}
|
|
|
+ </el-tag>
|
|
|
+ </div>
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ <span v-else>-</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="validity" label="时效性" width="100" v-if="infoType === 'basis'">
|
|
|
<template #default="scope">
|
|
|
<el-tag :type="getValidityType(scope.row.validity)">
|
|
|
@@ -978,6 +1058,21 @@ onMounted(() => {
|
|
|
justify-content: flex-end;
|
|
|
}
|
|
|
|
|
|
+.info-tag {
|
|
|
+ margin-right: 4px;
|
|
|
+ margin-bottom: 2px;
|
|
|
+ max-width: 120px;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+
|
|
|
+.tag-group {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ gap: 4px;
|
|
|
+}
|
|
|
+
|
|
|
.action-buttons {
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
@@ -989,6 +1084,23 @@ onMounted(() => {
|
|
|
margin: 0;
|
|
|
}
|
|
|
|
|
|
+.popover-tag-list {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ gap: 8px;
|
|
|
+ padding: 4px 0;
|
|
|
+}
|
|
|
+
|
|
|
+.popover-info-tag {
|
|
|
+ width: 100%;
|
|
|
+ justify-content: flex-start;
|
|
|
+ height: auto;
|
|
|
+ padding: 4px 8px;
|
|
|
+ white-space: normal;
|
|
|
+ word-break: break-all;
|
|
|
+ line-height: 1.4;
|
|
|
+}
|
|
|
+
|
|
|
:deep(.el-table .cell) {
|
|
|
white-space: nowrap;
|
|
|
}
|