Browse Source

涉访涉诉--详情页面枚举格式化

master
buaixuexideshitongxue 1 month ago
parent
commit
edcd4a3311
  1. 45
      src/components/data/complaint_detail.vue

45
src/components/data/complaint_detail.vue

@ -10,7 +10,7 @@
<div class="col col-12">
<label>业务类别</label>
<span>{{ dictLabel(dict?.businessType, base.businessTypeCode) }}</span>
<span>{{ getDictLabel(dict?.businessType, base.businessTypeCode) }}</span>
</div>
<div class="col col-12">
@ -50,17 +50,17 @@
<div class="col col-12">
<label>是否重复件</label>
<span>{{ dictLabel(dict?.yesNo, base.repeatt) }}</span>
<span>{{ getDictLabel(dict?.yesNo, base.repeatt) }}</span>
</div>
<div class="col col-24">
<label>标签</label>
<span>{{ tagText }}</span>
<span>{{ getDictLabel(dict?.sfssTags, base.tag) }}</span>
</div>
<div class="col col-12">
<label>办理方式</label>
<span>{{ dictLabel(dict?.BlameType, base.handleMethod) }}</span>
<span>{{ getDictLabel(dict?.handleMethodType, base.handleMethod) }}</span>
</div>
<div class="col col-24">
@ -90,8 +90,7 @@
<div class="col col-12">
<label>涉及对象</label>
<span>{{ dictLabel(dict?.accountabilityTarget, base.accountabilityTarget) }}</span>
<!-- <span>{{ dictLabel(dict?.handleMethodType, base.accountabilityTarget ) }}</span>-->
<span>{{ getDictLabel(dict?.accountabilityTarget, base.accountabilityTarget) }}</span>
</div>
<div class="col col-12">
@ -214,11 +213,35 @@ const detail = ref({});
const base = computed(() => detail.value || {});
const neg = computed(() => detail.value?.negative || detail.value?.neg || {});
function dictLabel(list, value) {
if (!Array.isArray(list)) return "/";
if (value === undefined || value === null || value === "") return "/";
const hit = list.find((x) => String(x.dictValue) === String(value));
return hit?.dictLabel ?? "/";
function getDictLabel(list, value) {
if (!Array.isArray(list)) return '/'
if (value === null || value === undefined || value === '') return '/'
let values = []
// 1 value
if (Array.isArray(value)) {
values = value
}
// 2 value "1,2,3"
else if (typeof value === 'string' && value.includes(',')) {
values = value.split(',').map(v => v.trim())
}
// 3 string / number
else {
values = [value]
}
// 4
const labels = values
.map(v => {
const item = list.find(d => d.dictValue == v)
return item?.dictLabel
})
.filter(Boolean)
return labels.length ? labels.join(',') : '/'
}
/** 来源展示:优先后端给的“全路径”,否则用 sourcePath 数组拼 */

Loading…
Cancel
Save