5 changed files with 238 additions and 9 deletions
@ -0,0 +1,176 @@ |
|||||
|
<!-- |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2024-05-18 09:08:21 |
||||
|
@ 备注: 展开应用表单 |
||||
|
--> |
||||
|
<script lang='ts' setup> |
||||
|
import { Edit,Picture as IconPicture } from '@element-plus/icons-vue' |
||||
|
import { appMenuTreeInfo,appSetInfo } from "@/api/date/type" |
||||
|
|
||||
|
const props = defineProps({ |
||||
|
appCont:{ |
||||
|
type:Object, |
||||
|
default(){ |
||||
|
return {} |
||||
|
} |
||||
|
}, |
||||
|
formKey:{ |
||||
|
type:String, |
||||
|
default:"" |
||||
|
}, |
||||
|
menusInfo:{ |
||||
|
type:Object, |
||||
|
default(){ |
||||
|
return {} |
||||
|
} |
||||
|
}, |
||||
|
drawerWith:{ |
||||
|
type:Number, |
||||
|
default:0 |
||||
|
}, |
||||
|
groupKey:{ |
||||
|
type:String, |
||||
|
default:"" |
||||
|
} |
||||
|
}); |
||||
|
/** |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2024-05-18 09:32:23 |
||||
|
@ 功能: 监听菜单传递数据变化 |
||||
|
*/ |
||||
|
watch(()=>props.menusInfo,(val:appMenuTreeInfo)=>{ |
||||
|
console.log("监听菜单传递数据变化",val) |
||||
|
},{ |
||||
|
deep:true |
||||
|
}) |
||||
|
const activePage = ref(1) //默认选择的页面 |
||||
|
/** |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2024-05-18 10:13:15 |
||||
|
@ 功能: |
||||
|
*/ |
||||
|
const handleAppPageClick = () =>{ |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
<template> |
||||
|
<div> |
||||
|
<el-row v-if="props.menusInfo"> |
||||
|
<el-col :span="24" class="pageBox pageHeader"> |
||||
|
<el-text class="wordFont">{{ props.menusInfo.label }}</el-text> |
||||
|
<el-button type="primary" :icon="Edit">编辑App页面</el-button> |
||||
|
</el-col> |
||||
|
<el-col :span="24" class="pageBox baiDiSe"> |
||||
|
<el-tabs v-model="activePage" class="demo-tabs" @tab-click="handleAppPageClick"> |
||||
|
<el-tab-pane label="列表预览" :name="1" /> |
||||
|
<el-tab-pane label="表单预览" :name="2" /> |
||||
|
<el-tab-pane label="流程图" :name="3" /> |
||||
|
</el-tabs> |
||||
|
</el-col> |
||||
|
<el-col :span="24" > |
||||
|
<el-scrollbar class="pageBox suojing"> |
||||
|
|
||||
|
appCont:{{ props.appCont }} <br> |
||||
|
formKey:{{ props.formKey }} <br> |
||||
|
menusInfo{{ props.menusInfo }} <br> |
||||
|
groupKey:{{ props.groupKey }} <br> |
||||
|
groupKey:{{ props.groupKey }} <br> |
||||
|
|
||||
|
</el-scrollbar> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row v-else> |
||||
|
<el-col :span="24" class="pageBox"> |
||||
|
<el-card class="tispMsg" shadow="always"> |
||||
|
|
||||
|
欢迎使用 {{ props.appCont.appName }}<br> |
||||
|
<div class="demo-image__error"> |
||||
|
<el-image :src="props.appCont.appSvg" fit="fit"> |
||||
|
<template #error> |
||||
|
<div class="image-slot"> |
||||
|
<el-icon><icon-picture /></el-icon> |
||||
|
</div> |
||||
|
</template> |
||||
|
</el-image> |
||||
|
</div> |
||||
|
{{ props.appCont }} |
||||
|
</el-card> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
</template> |
||||
|
<style lang='scss' scoped> |
||||
|
.pageBox{ |
||||
|
padding: 0 15px; |
||||
|
.wordFont{ |
||||
|
font-size: 20px; |
||||
|
} |
||||
|
.tispMsg{ |
||||
|
width: 100%; |
||||
|
margin: 20px 0 0 0; |
||||
|
height: calc(100vh - 80px); |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
text-align: center; |
||||
|
justify-content: center; |
||||
|
font-size: 20px; |
||||
|
} |
||||
|
} |
||||
|
.pageHeader{ |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
background-color: #FFFFFF; |
||||
|
padding:15px 15px 5px 15px; |
||||
|
|
||||
|
} |
||||
|
.baiDiSe{ |
||||
|
background-color: #FFFFFF; |
||||
|
border-bottom : 3px solid #dedfe0; |
||||
|
:deep .el-tabs__header{ |
||||
|
margin:0px 0 -2px 0; |
||||
|
} |
||||
|
} |
||||
|
.suojing{ |
||||
|
height: calc(100vh - 135px); |
||||
|
} |
||||
|
.demo-image__error{ |
||||
|
margin-top: 15px; |
||||
|
} |
||||
|
.demo-image__error .block { |
||||
|
padding: 30px 0; |
||||
|
text-align: center; |
||||
|
border-right: solid 1px var(--el-border-color); |
||||
|
display: inline-block; |
||||
|
width: 49%; |
||||
|
box-sizing: border-box; |
||||
|
vertical-align: top; |
||||
|
} |
||||
|
.demo-image__error .demonstration { |
||||
|
display: block; |
||||
|
color: var(--el-text-color-secondary); |
||||
|
font-size: 14px; |
||||
|
margin-bottom: 20px; |
||||
|
} |
||||
|
.demo-image__error .el-image { |
||||
|
padding: 0 5px; |
||||
|
max-width: 300px; |
||||
|
max-height: 200px; |
||||
|
width: 100%; |
||||
|
height: 200px; |
||||
|
} |
||||
|
|
||||
|
.demo-image__error .image-slot { |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
background: var(--el-fill-color-light); |
||||
|
color: var(--el-text-color-secondary); |
||||
|
font-size: 30px; |
||||
|
} |
||||
|
.demo-image__error .image-slot .el-icon { |
||||
|
font-size: 30px; |
||||
|
} |
||||
|
</style> |
||||
Loading…
Reference in new issue