feat(xispeak): 反馈办理情况统计与脉搏一致
This commit is contained in:
@@ -1,12 +1,11 @@
|
||||
<template>
|
||||
<a-modal
|
||||
v-model:open="visible"
|
||||
:title="title"
|
||||
:width="width"
|
||||
centered
|
||||
:top="80"
|
||||
:footer="null"
|
||||
:maskClosable="true"
|
||||
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '16px 24px 20px' }"
|
||||
:bodyStyle="{ maxHeight: '70vh', overflowY: 'auto', padding: '4px 24px 20px' }"
|
||||
wrapClassName="xispeak-detail-modal"
|
||||
destroyOnClose
|
||||
>
|
||||
@@ -66,12 +65,15 @@
|
||||
<Icon icon="ant-design:message-outlined" />
|
||||
</span>
|
||||
<span>办理情况</span>
|
||||
<a-tag class="feedback-summary-tag">共 {{ total }} 条</a-tag>
|
||||
<a-tag class="feedback-summary-tag" color="success">已完成 {{ done }} 条</a-tag>
|
||||
<a-tag class="feedback-summary-tag" color="warning" style="color: #8c6900">未开始 {{ count.notStarted }}</a-tag>
|
||||
<a-tag class="feedback-summary-tag" color="error">进行中 {{ count.inProgress }}(已逾期 {{ count.overdue }})</a-tag>
|
||||
<a-tag class="feedback-summary-tag" color="success">已完成 {{ count.completed }}</a-tag>
|
||||
<a-tag class="feedback-summary-tag">共 {{ count.total }} 条</a-tag>
|
||||
</div>
|
||||
<div class="feedback-summary-desc">当前事项的落实情况反馈记录</div>
|
||||
</div>
|
||||
<a-table
|
||||
class="feedback-table"
|
||||
rowKey="id"
|
||||
size="small"
|
||||
bordered
|
||||
@@ -111,10 +113,10 @@
|
||||
import BgXiSpeakFeedbackDetailModal from './BgXiSpeakFeedbackDetailModal.vue';
|
||||
import { bgXiSpeakFeedbackList } from '../BgXiSpeak.api';
|
||||
import { feedbackStatusRowClassName } from '/@/views/bg/utils/feedbackStatusRender';
|
||||
import { countFeedbackStatus } from '/@/views/bg/utils/feedbackStatusCount';
|
||||
import type { BasicColumn } from '/@/components/Table';
|
||||
|
||||
const visible = ref(false);
|
||||
const title = ref('详情');
|
||||
const width = 1100;
|
||||
const activeKey = ref('item');
|
||||
const record = ref<Recordable>({});
|
||||
@@ -209,8 +211,7 @@
|
||||
{ title: '操作', dataIndex: 'action', key: 'action', align: 'center', width: 90, fixed: 'right' },
|
||||
];
|
||||
|
||||
const total = computed(() => feedbackList.value.length);
|
||||
const done = computed(() => feedbackList.value.filter((item) => item.completionStatus_dictText === '已完成').length);
|
||||
const count = computed(() => countFeedbackStatus(feedbackList.value, 'completionStatus', 'deadline'));
|
||||
|
||||
async function loadFeedback(mainId: string | number) {
|
||||
feedbackLoading.value = true;
|
||||
@@ -235,7 +236,6 @@
|
||||
|
||||
function open(currentRecord: Recordable) {
|
||||
record.value = currentRecord || {};
|
||||
title.value = '详情';
|
||||
activeKey.value = 'item';
|
||||
visible.value = true;
|
||||
if (currentRecord?.id !== undefined && currentRecord?.id !== null && currentRecord?.id !== '') {
|
||||
|
||||
Reference in New Issue
Block a user