|
|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
<template> |
|
|
|
|
<el-dialog |
|
|
|
|
class="profile-dialog depart-profile" |
|
|
|
|
:title="departInfo.name || '单位问题详情'" |
|
|
|
|
:title="departTitle" |
|
|
|
|
:model-value="modelValue" |
|
|
|
|
@update:model-value="emit('update:modelValue', $event)" |
|
|
|
|
width="85vw" |
|
|
|
|
@ -10,7 +10,7 @@
|
|
|
|
|
> |
|
|
|
|
<template #header> |
|
|
|
|
<div class="profile-heading"> |
|
|
|
|
<h2>{{ departInfo.name || "单位问题详情" }}</h2> |
|
|
|
|
<h2>{{ departTitle }}</h2> |
|
|
|
|
<p>单位问题详情</p> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
@ -122,12 +122,13 @@
|
|
|
|
|
<section class="profile-panel"> |
|
|
|
|
<h5>问题清单 <span class="list-count">共 {{ negativeList.length }} 条</span></h5> |
|
|
|
|
<el-table :data="negativeList" max-height="500" class="profile-table"> |
|
|
|
|
<el-table-column label="发现时间" prop="discoveryTime" width="160" /> |
|
|
|
|
<el-table-column label="问题来源" prop="problemSources" width="140" /> |
|
|
|
|
<el-table-column label="业务类别" prop="businessTypeName" width="140" /> |
|
|
|
|
<el-table-column label="发现时间" prop="discoveryTime" sortable width="160" /> |
|
|
|
|
<el-table-column label="创建时间" prop="crtTime" sortable width="160" /> |
|
|
|
|
<el-table-column label="问题来源" prop="problemSources" sortable width="140" /> |
|
|
|
|
<el-table-column label="业务类别" prop="businessTypeName" sortable width="140" /> |
|
|
|
|
<el-table-column label="问题详情" prop="thingDesc" min-width="220" show-overflow-tooltip /> |
|
|
|
|
<el-table-column label="核查情况" prop="checkStatusDesc" min-width="130" show-overflow-tooltip /> |
|
|
|
|
<el-table-column label="问题类型" prop="problemType" min-width="130" show-overflow-tooltip /> |
|
|
|
|
<el-table-column label="问题类型" prop="problemType" sortable min-width="130" show-overflow-tooltip /> |
|
|
|
|
<el-table-column label="操作" width="110" align="center"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<el-button type="primary" link @click="handleAction(row)">查看详情</el-button> |
|
|
|
|
@ -165,11 +166,13 @@ const time = ref([
|
|
|
|
|
]); |
|
|
|
|
const colors = [{ color: "#5B8FF9", percentage: 0 }]; |
|
|
|
|
|
|
|
|
|
// TODO: 信访投诉数暂用假数据,后续替换为接口返回值。 |
|
|
|
|
const complaintCount = ref(6); |
|
|
|
|
const complaintCount = ref(0); |
|
|
|
|
const loading = ref(false); |
|
|
|
|
|
|
|
|
|
const departInfo = ref({}); |
|
|
|
|
const departTitle = computed(() => |
|
|
|
|
[departInfo.value.parentName, departInfo.value.name].filter(Boolean).join(" / ") || "单位问题详情" |
|
|
|
|
); |
|
|
|
|
const negativeInfo = ref({}); |
|
|
|
|
|
|
|
|
|
const negativeList = ref([]); |
|
|
|
|
@ -187,6 +190,7 @@ async function getProfileData() {
|
|
|
|
|
negativeList.value = data.negatives; |
|
|
|
|
departInfo.value = data.departInfo; |
|
|
|
|
negativeInfo.value = data.negativeInfo; |
|
|
|
|
complaintCount.value = data.complaintCount ?? 0; |
|
|
|
|
problemSourcesPieOptions.value.series[0].data = data.problemSourcesList; |
|
|
|
|
problemSourcesPieOptions.value.title.text = String(data.negativeInfo.size ?? 0); |
|
|
|
|
businessTypePieOptions.value.series[0].data = data.businessTypeList; |
|
|
|
|
@ -348,6 +352,7 @@ function handleAction(row) {
|
|
|
|
|
:global(.depart-profile .el-dialog__headerbtn) { top: 10px; right: 10px; } |
|
|
|
|
:global(.depart-profile .el-dialog__close) { color: #fff; } |
|
|
|
|
.profile-heading { |
|
|
|
|
overflow-wrap: anywhere; |
|
|
|
|
h2 { margin: 0; font-size: 26px; font-weight: 700; color: #fff; line-height: 1.4; } |
|
|
|
|
p { margin: 4px 0 0; font-size: 14px; color: #fff; } |
|
|
|
|
} |
|
|
|
|
@ -440,8 +445,8 @@ function handleAction(row) {
|
|
|
|
|
.depart-fields { |
|
|
|
|
> div { padding: 9px 0; } |
|
|
|
|
> div:nth-child(2) { margin-bottom: 8px; padding-bottom: 16px; border-bottom: 1px solid #e2e8f5; } |
|
|
|
|
dt { width: auto; flex: 1; } |
|
|
|
|
dd { font-weight: 600; text-align: right; } |
|
|
|
|
dt { width: auto; flex: 0 0 auto; white-space: nowrap; } |
|
|
|
|
dd { flex: 1; min-width: 0; font-weight: 600; text-align: right; overflow-wrap: anywhere; } |
|
|
|
|
} |
|
|
|
|
.problem-summary { display: flex; gap: 16px; align-items: center; min-height: 240px; } |
|
|
|
|
.problem-total { |
|
|
|
|
|