This commit is contained in:
zmj 2024-03-20 10:30:07 +08:00
parent d6b518a538
commit 4338b78350
3 changed files with 36 additions and 27 deletions

View File

@ -1,32 +1,37 @@
<template> <template>
<div class="detail-popup"> <div class="detail-popup">
<popup ref="popupRef" :async="true" :width="width" @close="handleClose" :showFootBtn="false"> <popup ref="popupRef" :async="true" :width="width" @close="handleClose" :showFootBtn="false">
<el-form ref="formRef" :model="formData" label-width="100px">
<el-descriptions :column="column" :title="detailConfig?.title || '详情'" border> <el-descriptions :column="column" :title="detailConfig?.title || '详情'" border>
<el-descriptions-item :label="item.label" label-align="left" align="left" <el-descriptions-item :label="item.label" label-align="left" align="left"
v-for="(item, index) in detailConfig?.config.filter(item => !item.column)" :key="index"> v-for="(item, index) in detailConfig?.config.filter(item => !item.column)" :key="index"
{{ formData[item.value] ?? label-class-name="my-label">
{{ formData[item.value] ??
(item.value.includes('.') ? (item.value.includes('.') ?
(formData[item.value.split('.')[0]])[item.value.split('.')[1]] : (formData[item.value.split('.')[0]])[item.value.split('.')[1]] :
'') '')
}} }}
</el-descriptions-item>
</el-descriptions> </el-descriptions-item>
<el-descriptions :column="1" border </el-descriptions>
v-for="(item, index) in detailConfig?.config.filter(item => item.column == 1)" :key="index"> <el-descriptions :column="2" border
<el-descriptions-item :label="item.label" label-align="left" align="left" v-for="(item, index) in detailConfig?.config.filter(item => item.column == 1)" :key="index"
v-if="Array.isArray(formData[item.value])"> v-show="formData[item.value]">
<el-link :href="items.uri" type="primary" target="_blank" v-for="items in formData[item.value]" <el-descriptions-item :label="item.label" label-align="left" align="left"
class="mr-5"> v-if="Array.isArray(formData[item.value])" label-class-name="my-label">
{{ items.name }} <el-link :href="items.uri" type="primary" target="_blank" v-for="items in formData[item.value]"
</el-link> class="mr-5">
</el-descriptions-item> {{ items.name }}
<el-descriptions-item :label="item.label" label-align="left" align="left" v-else> </el-link>
{{ formData[item.value] }} </el-descriptions-item>
</el-descriptions-item> <el-descriptions-item :label="item.label" label-align="left" align="left" label-class-name="my-label"
</el-descriptions> v-else>
</el-form> {{ formData[item.value] }}
<div v-if="detailConfig?.table"> </el-descriptions-item>
</el-descriptions>
<div v-if="detailConfig?.table && tableLists.length">
<el-card class="mt-5" v-if="!Array.isArray(detailConfig?.table)"> <el-card class="mt-5" v-if="!Array.isArray(detailConfig?.table)">
<template #header> <template #header>
{{ detailConfig.table.title }}列表 {{ detailConfig.table.title }}列表
@ -125,4 +130,8 @@ defineExpose({
}) })
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
:deep(.my-label) {
width: 198px !important;
}
</style>

View File

@ -3,10 +3,10 @@ const defaultSetting = {
showLogo: true, // 是否显示logo showLogo: true, // 是否显示logo
isUniqueOpened: true, //只展开一个一级菜单 isUniqueOpened: true, //只展开一个一级菜单
sideWidth: 250, //侧边栏宽度 sideWidth: 250, //侧边栏宽度
sideTheme: 'light', //侧边栏主题 sideTheme: 'dark', //侧边栏主题
sideDarkColor: '#1d2124', //侧边栏深色主题颜色 sideDarkColor: '#1d2124', //侧边栏深色主题颜色
openMultipleTabs: true, // 是否开启多标签tab栏 openMultipleTabs: true, // 是否开启多标签tab栏
theme: '#4A5DFF', //主题色 theme: '#FF8F4A', //主题色
successTheme: '#67c23a', //成功主题色 successTheme: '#67c23a', //成功主题色
warningTheme: '#e6a23c', //警告主题色 warningTheme: '#e6a23c', //警告主题色
dangerTheme: '#f56c6c', //危险主题色 dangerTheme: '#f56c6c', //危险主题色

View File

@ -168,7 +168,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注">
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" /> <el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
</el-form-item> </el-form-item>
</el-col> </el-col>