Commit 8ae75ec7 authored by linxin's avatar linxin

消息中心实时查数据

parent 26119cf2
......@@ -167,7 +167,7 @@ export default {
top: 0;
}
.scrollContent {
padding-top: 2.92rem;
padding-top: 2.05rem;
padding-bottom: 20px;
}
.tab-style {
......@@ -176,18 +176,18 @@ export default {
}
}
.platform-ios {
#startList {
#reimburse {
.scrollContent {
padding-top: 3.32rem;
padding-top: 2.45rem;
}
}
}
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#startList {
#reimburse {
.scrollContent {
padding-top: 3.72rem;
padding-top: 3.05rem;
}
}
}
......@@ -195,9 +195,9 @@ export default {
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#startList {
#reimburse {
.scrollContent {
padding-top: 3.72rem;
padding-top: 3.05rem;
}
}
}
......
......@@ -3,57 +3,56 @@
<h-header class="bar-custom">
<div slot="center" class="top-word">消息通知</div>
</h-header>
<h-content class="content">
<!-- <h-content class="content"> -->
<scroll
ref="scroll" :updateData="[list]" :pullUp="true" class="has-header"
@pullingUp="getInfo">
<section v-for="(item,parentIndex) in list" :key="parentIndex" class="msg-wrap">
<item-option ref="itemOption">
<list-item>
<item :hasBorder="false" :proportion="[2,2]">
<div slot="left-icon" class="left-icon left-icon-box"><img src="@/assets/messageCenter/messageIcon.png"></div>
<div slot="name" class="font-color">{{ item.msg_title }}</div>
<div slot="content" class="time-color">{{ item.msg_time }}</div>
<div v-if="item.notice_type==3" slot="left-icon" class="left-icon left-icon-box">
<img src="@/assets/messageCenter/messageIcon.png" >
</div>
<div v-if="item.notice_type==2" slot="left-icon" class="left-icon over-icon-box">
<img src="@/assets/messageCenter/overIcon.png" >
</div>
<div v-if="item.notice_type==1" slot="left-icon" class="left-icon red-icon-box">
<img src="@/assets/messageCenter/message.png" >
</div>
<div
slot="name"
:class="{'font-color':true,'over-color':item.notice_type==2,'red':item.notice_type==1}"
>{{ item.notice_title }}</div>
<div slot="content" class="time-color">{{ item.notice_time }}</div>
</item>
<div class="msg-content">
<div class="text">
<div
ref="textContainer" :class="{'retract': item.status}"
:style="{'max-height':item.status ? textHeight: ''}">
{{ item.msg_content }}
</div>
ref="textContainer"
:class="{'retract': item.status}"
:style="{'max-height':item.status ? textHeight: ''}"
>{{ item.notice_body }}</div>
<div class="btn">
<p v-if="item.status" @click="item.status = false">展开</p>
<p v-if="item.status == false" @click="item.status = true">收起</p>
</div>
</div>
</div>
<!-- <div class="detail-wrap">
<div v-if="item.notice_type==2" class="detail-wrap" @click="goDetail">
<div class="detail-wrap-content">
<span>查看详情</span>
<img src="@/assets/messageCenter/right-gray.png">
<img src="@/assets/messageCenter/right-gray.png" >
</div>
</div>
</div>-->
</list-item>
<div slot="buttons">
<option-button type="warn" text="删除" @click.native="deleteFun(parentIndex)"/>
<option-button type="warn" text="删除" @click.native="deleteFun(parentIndex)" />
</div>
</item-option>
</section>
<!--逾期消息-->
<section v-for="(item,Index) in overList" class="msg-wrap">
<list-item>
<item :hasBorder="false" :proportion="[2,2]">
<div slot="left-icon" class="left-icon over-icon-box"><img src="@/assets/messageCenter/overIcon.png"></div>
<div slot="name" class="over-color">{{ item.msg_title }}</div>
<div slot="content" class="time-color">{{ item.msg_time }}</div>
</item>
<div class="msg-content">
<div class="text" style="padding-bottom: 10px;">
<div>{{ item.msg_content }}</div>
</div>
</div>
</list-item>
</section>
</h-content>
</h-view>
<!-- </h-content> -->
</scroll></h-view>
</template>
<script>
export default {
......@@ -61,41 +60,20 @@ export default {
return {
textHeight: null,
isFold: true,
// list:[],
list: [
{
msg_title: '视频面签',
msg_content: '您有一条保证缴纳确认信息待您确认,请确认:2001于2019-08-29进行视频面签,届时请注意接收视频消息!',
msg_time: '2019-10-20',
},
{
msg_title: '保证金确认',
msg_content: '您有一条保证缴纳确认信息待您确认,请确认!',
msg_time: '2019-10-20',
},
{
msg_title: '进件确认',
msg_content: '进件号:201903022201待您确认,请确认!',
msg_time: '2019-10-20',
},
],
overList: [
{
msg_title: '逾期提醒',
msg_content: '您好,您的合同CON20190802001已逾期1期,请及时还款,谢谢!',
msg_time: '2019-10-20',
},
],
pagenum: 1,
list: [],
}
},
beforeRouteEnter (to, from, next) {
next(vm => {
// vm.getInfo()
vm.list = []
vm.pagenum = 1
vm.getInfo()
})
},
mounted () {
this.list.forEach((item, index) => {
this.$set(this.list, index, Object.assign({}, item, {status: null}))
this.$set(this.list, index, Object.assign({}, item, { status: null }))
})
// DOM 加载完执行
this.$nextTick(() => {
......@@ -103,7 +81,7 @@ export default {
})
window.onresize = () => {
this.list.forEach((item, index) => {
this.$set(this.list, index, Object.assign({}, item, {status: null}))
this.$set(this.list, index, Object.assign({}, item, { status: null }))
})
setTimeout(() => {
this.calculateText()
......@@ -120,23 +98,53 @@ export default {
for (let i = 0; i < txtDom.length; i++) {
let curHeight = txtDom[i].offsetHeight
if (curHeight > twoHeight) {
this.$set(this.list, i, Object.assign({}, this.list[i], {status: true}))
this.$set(
this.list,
i,
Object.assign({}, this.list[i], { status: true })
)
} else {
this.$set(this.list, i, Object.assign({}, this.list[i], {status: null}))
this.$set(
this.list,
i,
Object.assign({}, this.list[i], { status: null })
)
}
}
},
goDetail () {
this.$router.push({
name: 'RejectDetail',
})
},
getInfo () {
let vm = this
let url = process.env.basePath + 'hls_app_notice_query'
let param = {
phone: window.localStorage.getItem('user_phone'),
pagesize: '10',
pagenum: vm.pagenum,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.list = res.lists
let returnData = []
returnData = res.lists
if (returnData.length === 0) {
vm.$refs.scroll.update(true)
} else if (returnData.length > 0 && returnData.length < 10) {
vum.forEach(returnData, function (data, index, array) {
vm.list.push(array[index])
})
vm.$refs.scroll.update(true)
} else if (returnData.length === 10) {
vum.forEach(returnData, function (data, index, array) {
vm.list.push(array[index])
})
vm.pagenum++
vm.$refs.scroll.update(false)
}
} else {
hlsPopup.showLongCenter(res.message)
}
......@@ -160,29 +168,31 @@ export default {
}
</script>
<style lang="less">
@import "../../styles/mixin";
@import "../../styles/mixin";
#message-center {
.content {
padding-top: 10px;
}
.swipeout-list{
#message-center {
// .content {
// padding-top: 10px;
// }
.swipeout-list {
height: auto;
padding: 0;
.function{
.function {
right: -22% !important;
}
}
}
.msg-wrap {
margin: 0 2% 10px 2%;
// padding-top: 10px;
// background-color:rgb(239,239,239)
.msg-content {
margin-left: 14%;
margin-right: 4%;
line-height: 20px;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #4B4A4B;
color: #4b4a4b;
padding-bottom: 10px;
}
.nowrap {
......@@ -190,7 +200,7 @@ export default {
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical
-webkit-box-orient: vertical;
}
}
......@@ -208,7 +218,7 @@ export default {
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical
-webkit-box-orient: vertical;
}
.retract:after {
......@@ -219,13 +229,13 @@ export default {
width: 84px;
padding-left: 30px;
background: linear-gradient(to right, transparent, #fff 45%);*/
content: '...';
content: "...";
position: absolute;
bottom: -0.02rem;
right: 0.04rem;
width: 62px;
padding-left: 3px;
background: #FFF;
background: #fff;
}
.btn {
......@@ -246,84 +256,129 @@ export default {
color: #666666;
visibility: hidden;
}
.left-icon-box{
.left-icon-box {
position: relative;
width: 26px;
height: 26px;
background: #efefef;
border-radius: 8px;
img{
img {
position: absolute;
left: 6px;
z-index: 100;
top: 6px;
}
}
.over-icon-box{
.over-icon-box {
position: relative;
width: 26px;
height: 26px;
background: #FFFFE0;
background: #ffffe0;
border-radius: 8px;
img{
img {
position: absolute;
left: 6px;
z-index: 100;
top: 6px;
}
}
.hls-list-item{
padding-bottom: 10px;
.red-icon-box {
position: relative;
width: 26px;
height: 26px;
background: #fdd1d5;
border-radius: 8px;
img {
position: absolute;
left: 6px;
z-index: 100;
top: 6px;
}
.contents{
.add-name{
.font-color{
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4B4A4B;
}
.over-color{
.contents {
.add-name {
.font-color {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #FDB62F;
color: #4b4a4b;
}
.over-color {
color: #fdb62f;
}
.red {
color: #d81e06;
}
}
.add-content{
.time-color{
.add-content {
.time-color {
font-family: PingFangSC-Regular;
font-size: 13px;
color: rgba(56,63,69,0.60);
color: rgba(56, 63, 69, 0.6);
}
}
img{
img {
width: 14px;
height: 14px;
}
}
.detail-wrap{
.detail-wrap {
margin-top: 10px;
width: 100%;
height: 40px;
height: 35px;
padding: 0 4% 0 14%;
display: flex;
justify-content: center;
align-items: center;
.detail-wrap-content{
.detail-wrap-content {
width: 100%;
height: 100%;
display: flex;
border-top: 1px solid #F3F3F7;
justify-content: space-between;
align-items: center;
.border-top;
span{
span {
font-family: PingFangSC-Semibold;
font-size: 0.3rem;
color: #4B4A4B;
font-size: 14px;
color: #4b4a4b;
}
img{
img {
width: 14px;
}
}
}
.content {
position: absolute;
top: 0;
}
.scrollContent {
padding-top: 1rem;
padding-bottom: 20px;
}
}
.platform-ios {
#message-center {
.scrollContent {
padding-top: 1.4rem;
}
}
}
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#message-center {
.scrollContent {
padding-top: 2rem;
}
}
}
}
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#message-center {
.scrollContent {
padding-top: 2rem;
}
}
}
}
</style>
<template>
<h-view id="rejectDetail">
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" >
<span>消息详情</span>
</div>
</h-header>
<h-content>
<div class="userInfo">审批意见</div>
<div class="info-content">
<p>XXXXXXXXX。请联系业务员重新提交申请,谢谢!</p>
</div>
</h-content>
</h-view>
</template>
<script>
export default {
}
</script>
<style lang="less" >
#rejectDetail{
.userInfo {
height: 45px;
line-height: 45px;
color: @headerColor;
margin-top: 5px;
font-size: 15px;
margin-left: 16px;
position: relative;
}
.userInfo::before {
content: "";
display: block;
width: 4px;
height: 20px;
background-color: @headerColor;
position: absolute;
left: -15px;
top: 12px;
}
.info-content{
width:90%;
margin: 0 auto;
line-height: 20px;
p{
text-indent: 35px;
}
}
}
</style>
......@@ -178,7 +178,7 @@ export default {
}
}
.platform-ios {
#startList {
#reimburse {
.scrollContent {
padding-top: 2.2rem;
}
......@@ -187,7 +187,7 @@ export default {
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#startList {
#reimburse {
.scrollContent {
padding-top: 2.62rem;
}
......@@ -197,7 +197,7 @@ export default {
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#startList {
#reimburse {
.scrollContent {
padding-top: 2.62rem;
}
......
......@@ -356,7 +356,7 @@ export default {
top: 0;
}
.scrollContent {
padding-top: 2.72rem;
padding-top: 2.52rem;
padding-bottom: 20px;
}
.tab-style {
......@@ -365,16 +365,16 @@ export default {
}
}
.platform-ios {
#startList {
#videoList {
.scrollContent {
padding-top: 3.12rem;
padding-top: 2.92rem;
}
}
}
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#startList {
#videoList {
.scrollContent {
padding-top: 3.52rem;
}
......@@ -384,7 +384,7 @@ export default {
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#startList {
#videoList {
.scrollContent {
padding-top: 3.52rem;
}
......
......@@ -70,6 +70,7 @@ import ProDetailed from '@/pages/productQuery/product-detailed'
// 消息中心
import MessageCenter from '@/pages/messageCenter/message-list'
import ProductList from '@/pages/productQuery/product-list'
import RejectDetail from '@/pages/messageCenter/reject-detail'
// 帮助与反馈
import HelpList from '@/pages/help/help-list'
......@@ -133,7 +134,7 @@ export default new Router({
children: [
{path: '/tab/home-page', component: HomePage, name: 'HomePage', meta: {keepAlive: false}},
{path: '/tab/my-info', component: MyInfo, name: 'MyInfo', meta: {keepAlive: true}},
{path: '/tab/message-center', component: MessageCenter, name: 'MessageCenter', meta: {keepAlive: false}},
{path: '/tab/message-center', component: MessageCenter, name: 'MessageCenter', meta: {keepAlive: true}},
],
},
......@@ -253,6 +254,8 @@ export default new Router({
{path: '/drawback-detail', component: DrawbackDetail, name: 'DrawbackDetail', meta: {keepAlive: false}},
// 视屏面签
{path: '/video-sign', component: VideoSign, name: 'VideoSign', meta: {keepAlive: true}},
// 消息中心
{path: '/reject-detail', component: RejectDetail, name: 'RejectDetail', meta: {keepAlive: true}},
],
scrollBehavior (to, from, savedPosition) {
if (to.hash) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment