[add] 消息详情和动态详情页面
This commit is contained in:
+6
-1
@@ -264,6 +264,9 @@ const queryFileInfoByEditId = (params) => getAction('/onlyOffice/queryById', par
|
|||||||
// 获取taskName
|
// 获取taskName
|
||||||
const queryTaskNameByTaskId = (params) => getAction('/workCenter/getByTaskId', params)
|
const queryTaskNameByTaskId = (params) => getAction('/workCenter/getByTaskId', params)
|
||||||
|
|
||||||
|
// 我的消息-详情
|
||||||
|
const getMsgDetail = (params) => getAction('/sys/sysAnnouncementSend/getDetailsById', params)
|
||||||
|
|
||||||
export {
|
export {
|
||||||
queryPermissionsByUser,
|
queryPermissionsByUser,
|
||||||
getFormDictTreeList,
|
getFormDictTreeList,
|
||||||
@@ -390,5 +393,7 @@ export {
|
|||||||
|
|
||||||
queryFileInfoByEditId,
|
queryFileInfoByEditId,
|
||||||
|
|
||||||
queryTaskNameByTaskId
|
queryTaskNameByTaskId,
|
||||||
|
|
||||||
|
getMsgDetail
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,6 +70,17 @@ const routes = [
|
|||||||
},
|
},
|
||||||
component: () => import('@/views/exception/NoMobile')
|
component: () => import('@/views/exception/NoMobile')
|
||||||
},
|
},
|
||||||
|
{ // 消息详情
|
||||||
|
path: '/messageDetail',
|
||||||
|
name: 'messageDetail',
|
||||||
|
component: () => import('@/views/messageDetail/MessageDetail'),
|
||||||
|
meta: {
|
||||||
|
hasNavBar: true,
|
||||||
|
title: '消息详情',
|
||||||
|
pageTitle: 'messageDetail',
|
||||||
|
hasBack: true
|
||||||
|
}
|
||||||
|
},
|
||||||
...workCenter,
|
...workCenter,
|
||||||
{
|
{
|
||||||
path: '*',
|
path: '*',
|
||||||
|
|||||||
@@ -0,0 +1,127 @@
|
|||||||
|
<template>
|
||||||
|
<div class="message-page">
|
||||||
|
<van-overlay :show="loading" :z-index="99999">
|
||||||
|
<van-loading />
|
||||||
|
</van-overlay>
|
||||||
|
<div v-if="!isDynamic">
|
||||||
|
<p class="message-page-title">{{ title }}</p>
|
||||||
|
<p class="message-page-sub-title">发布时间:{{ model.sendTime }}</p>
|
||||||
|
<div class="message-page-content" v-html="model.msgContent"></div>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<p class="message-page-title">【动态详情】{{ model.dynamicHeading }}</p>
|
||||||
|
<div class="message-page-sub-title">
|
||||||
|
<!--浏览量-->
|
||||||
|
<div>
|
||||||
|
<van-icon name="eye-o" />
|
||||||
|
{{ model.readCount }}
|
||||||
|
</div>
|
||||||
|
<!--编辑人-->
|
||||||
|
<div>
|
||||||
|
<label>编辑人:</label>
|
||||||
|
<span>{{ model.writer_dictText }}</span>
|
||||||
|
</div>
|
||||||
|
<!--发布时间-->
|
||||||
|
<div>
|
||||||
|
<label>发布时间:</label>
|
||||||
|
<span>{{ model.releaseTime }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="message-page-content">
|
||||||
|
<div v-html="model.dynamicDetails"></div>
|
||||||
|
<file-display :file-ids="model.dataText" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getMsgDetail } from '@/api/api'
|
||||||
|
import { getDynamicMessageById } from '@/api/standardRegulationLibraryApi'
|
||||||
|
import FileDisplay from '@/components/FileDisplay'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'MessageDetail',
|
||||||
|
components: { FileDisplay },
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
model: {},
|
||||||
|
title: '',
|
||||||
|
isDynamic: false // 是动态消息
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
console.log('-----------openPage', this.$route.query.openPage)
|
||||||
|
if (this.$route.query.openType === 'url' && this.$route.query.openPage.includes('/standardRegulationLibrary/DynamicMessageDetail')) {
|
||||||
|
this.isDynamic = true
|
||||||
|
// 是动态消息,获取动态消息详情
|
||||||
|
this.initDynamicDetail()
|
||||||
|
} else {
|
||||||
|
this.initPage()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取消息详情
|
||||||
|
initPage () {
|
||||||
|
this.loading = true
|
||||||
|
getMsgDetail({ id: this.$route.query.id }).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
const data = res.result || {}
|
||||||
|
this.model = data
|
||||||
|
this.title = data.titile
|
||||||
|
} else {
|
||||||
|
this.$message(res.message)
|
||||||
|
}
|
||||||
|
}).catch((err) => {
|
||||||
|
this.$message(err)
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取动态消息详情
|
||||||
|
initDynamicDetail () {
|
||||||
|
this.loading = true
|
||||||
|
const id = this.$route.query.openPage.split('=')[1]
|
||||||
|
getDynamicMessageById({ id: id, type: 'query' }).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.model = Object.assign({}, res.result || {})
|
||||||
|
} else {
|
||||||
|
this.$message(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.van-overlay {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background-color: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-page {
|
||||||
|
&-title {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.34rem;
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 0.4rem;
|
||||||
|
margin: 0.3rem 0.32rem 0.24rem;
|
||||||
|
}
|
||||||
|
&-sub-title {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.26rem;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 0.4rem;
|
||||||
|
margin: 0.3rem 0.32rem 0.24rem;
|
||||||
|
}
|
||||||
|
&-content {
|
||||||
|
padding: 0 0.3rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user