[add] 消息详情和动态详情页面
This commit is contained in:
+6
-1
@@ -264,6 +264,9 @@ const queryFileInfoByEditId = (params) => getAction('/onlyOffice/queryById', par
|
||||
// 获取taskName
|
||||
const queryTaskNameByTaskId = (params) => getAction('/workCenter/getByTaskId', params)
|
||||
|
||||
// 我的消息-详情
|
||||
const getMsgDetail = (params) => getAction('/sys/sysAnnouncementSend/getDetailsById', params)
|
||||
|
||||
export {
|
||||
queryPermissionsByUser,
|
||||
getFormDictTreeList,
|
||||
@@ -390,5 +393,7 @@ export {
|
||||
|
||||
queryFileInfoByEditId,
|
||||
|
||||
queryTaskNameByTaskId
|
||||
queryTaskNameByTaskId,
|
||||
|
||||
getMsgDetail
|
||||
}
|
||||
|
||||
@@ -70,6 +70,17 @@ const routes = [
|
||||
},
|
||||
component: () => import('@/views/exception/NoMobile')
|
||||
},
|
||||
{ // 消息详情
|
||||
path: '/messageDetail',
|
||||
name: 'messageDetail',
|
||||
component: () => import('@/views/messageDetail/MessageDetail'),
|
||||
meta: {
|
||||
hasNavBar: true,
|
||||
title: '消息详情',
|
||||
pageTitle: 'messageDetail',
|
||||
hasBack: true
|
||||
}
|
||||
},
|
||||
...workCenter,
|
||||
{
|
||||
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