78 lines
1.6 KiB
Vue
78 lines
1.6 KiB
Vue
<template>
|
|
<ai-detail class="event-detail">
|
|
<template #title>
|
|
<ai-title title="村务公开详情" :isShowBack="true" @onBackClick="onBack" isShowBottomBorder>
|
|
</ai-title>
|
|
</template>
|
|
<template #content>
|
|
<ai-card :title="info.title" titlePosition="center">
|
|
<template #title>
|
|
<h2>{{ info.title }}</h2>
|
|
<p class="subTitle">{{ info.createDate }} {{ info.unitName || '-' }}</p>
|
|
</template>
|
|
<template #content>
|
|
<img class="cover" :src="info.thumbUrl[0].url" v-if="info.thumbUrl && info.thumbUrl.length">
|
|
<ai-article :value="info.content"></ai-article>
|
|
</template>
|
|
</ai-card>
|
|
</template>
|
|
</ai-detail>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'detail',
|
|
props: {
|
|
instance: Function,
|
|
dict: Object,
|
|
permissions: Function,
|
|
},
|
|
|
|
data() {
|
|
return {
|
|
info: {}
|
|
}
|
|
},
|
|
computed: {
|
|
params() {
|
|
return this.$route.query
|
|
}
|
|
},
|
|
mounted() {
|
|
this.getInfo()
|
|
},
|
|
|
|
methods: {
|
|
getInfo() {
|
|
this.instance.post(`/api/appvillageinfo/queryDetailById?id=${this.params.id}`).then(res => {
|
|
if (res?.data) {
|
|
this.info = res.data
|
|
if (res.data.thumbUrl) {
|
|
this.info.thumbUrl = JSON.parse(res.data.thumbUrl)
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
onBack() {
|
|
this.$router.push({})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.cover {
|
|
display: block;
|
|
width: 300px;
|
|
height: 140px;
|
|
margin: 20px auto;
|
|
}
|
|
|
|
.subTitle {
|
|
text-align: center;
|
|
font-size: 12px;
|
|
font-weight: normal;
|
|
}
|
|
</style>
|