zhou zhou
2026-04-02 50e95b985a72fcec4a93a2470e9efdfb2620148a
rsf-design/src/views/system/config/modules/config-detail-drawer.vue
@@ -1,30 +1,35 @@
<template>
  <ElDrawer
    :model-value="visible"
    title="配置详情"
    :title="t('pages.system.config.dialog.titleDetail')"
    size="560px"
    @update:model-value="handleVisibleChange"
  >
    <ElSkeleton :loading="loading" animated :rows="10">
      <ElDescriptions :column="1" border>
        <ElDescriptionsItem label="编号">{{ displayData.uuid || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="名称">{{ displayData.name || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="标识">{{ displayData.flag || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="类型">{{ displayData.typeText || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="值">{{ displayData.val || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="文本">{{ displayData.content || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="状态">
          <ElTag :type="displayData.statusType" effect="light">{{ displayData.statusText || '--' }}</ElTag>
        <ElDescriptionsItem :label="t('table.code')">{{ displayData.uuid || t('common.placeholder.empty') }}</ElDescriptionsItem>
        <ElDescriptionsItem :label="t('table.name')">{{ displayData.name || t('common.placeholder.empty') }}</ElDescriptionsItem>
        <ElDescriptionsItem :label="t('pages.system.config.table.flag')">{{ displayData.flag || t('common.placeholder.empty') }}</ElDescriptionsItem>
        <ElDescriptionsItem :label="t('pages.system.config.table.type')">
          {{ t(displayData.typeTextKey || 'common.placeholder.empty') }}
        </ElDescriptionsItem>
        <ElDescriptionsItem label="更新时间">{{ displayData.updateTimeText || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="创建时间">{{ displayData.createTimeText || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem label="备注">{{ displayData.memo || '--' }}</ElDescriptionsItem>
        <ElDescriptionsItem :label="t('pages.system.config.table.value')">{{ displayData.val || t('common.placeholder.empty') }}</ElDescriptionsItem>
        <ElDescriptionsItem :label="t('pages.system.config.table.content')">{{ displayData.content || t('common.placeholder.empty') }}</ElDescriptionsItem>
        <ElDescriptionsItem :label="t('table.status')">
          <ElTag :type="displayData.statusType" effect="light">
            {{ t(displayData.statusTextKey || 'common.placeholder.empty') }}
          </ElTag>
        </ElDescriptionsItem>
        <ElDescriptionsItem :label="t('table.updateTime')">{{ displayData.updateTimeText || t('common.placeholder.empty') }}</ElDescriptionsItem>
        <ElDescriptionsItem :label="t('table.createTime')">{{ displayData.createTimeText || t('common.placeholder.empty') }}</ElDescriptionsItem>
        <ElDescriptionsItem :label="t('table.memo')">{{ displayData.memo || t('common.placeholder.empty') }}</ElDescriptionsItem>
      </ElDescriptions>
    </ElSkeleton>
  </ElDrawer>
</template>
<script setup>
  import { useI18n } from 'vue-i18n'
  import { normalizeConfigListRow } from '../configPage.helpers'
  const props = defineProps({
@@ -34,6 +39,7 @@
  })
  const emit = defineEmits(['update:visible'])
  const { t } = useI18n()
  const displayData = computed(() => normalizeConfigListRow(props.detailData))
  function handleVisibleChange(visible) {