42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
<template>
|
|
<a-drawer v-model:visible="visible" title="${businessName}详情" :width="width >= 580 ? 580 : '100%'" :footer="false">
|
|
<a-descriptions :column="2" size="large" class="general-description">
|
|
<#list fieldConfigs as fieldConfig>
|
|
<a-descriptions-item label="${fieldConfig.comment}">{{ dataDetail?.${fieldConfig.fieldName} }}</a-descriptions-item>
|
|
<#if fieldConfig.fieldName = 'createUser'>
|
|
<a-descriptions-item label="创建人">{{ dataDetail?.createUserString }}</a-descriptions-item>
|
|
<#elseif fieldConfig.fieldName = 'updateUser'>
|
|
<a-descriptions-item label="修改人">{{ dataDetail?.updateUserString }}</a-descriptions-item>
|
|
</#if>
|
|
</#list>
|
|
</a-descriptions>
|
|
</a-drawer>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { get${classNamePrefix}, type ${classNamePrefix}DetailResp } from '@/apis'
|
|
import { useWindowSize } from '@vueuse/core'
|
|
|
|
const { width } = useWindowSize()
|
|
|
|
const visible = ref(false)
|
|
const dataId = ref('')
|
|
const dataDetail = ref<${classNamePrefix}DetailResp>()
|
|
// 查询详情
|
|
const getDataDetail = async () => {
|
|
const res = await get${classNamePrefix}(dataId.value)
|
|
dataDetail.value = res.data
|
|
}
|
|
|
|
// 打开详情
|
|
const onDetail = async (id: string) => {
|
|
dataId.value = id
|
|
await getDataDetail()
|
|
visible.value = true
|
|
}
|
|
|
|
defineExpose({ onDetail })
|
|
</script>
|
|
|
|
<style lang="scss" scoped></style>
|