1133 lines
25 KiB
Vue
1133 lines
25 KiB
Vue
<template>
|
||
<view>
|
||
<navBar leftText="事件详情"></navBar>
|
||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||
<view v-if="eventDetails" class="eventDetailsC fixed" :style="'top:'+navH+'px;'">
|
||
<view class="categoryTitleC">
|
||
<view class="category">{{eventDetails.event_type}}</view>
|
||
<text class="title">{{eventDetails.event_title}}</text>
|
||
</view>
|
||
<view class="eventTime">{{eventDetails.event_created_at.substr(0,16)}}</view>
|
||
<view class="eventContent">{{eventDetails.event_desc}}</view>
|
||
<scroll-view scroll-x class="categoryList">
|
||
<view :class="'item relative '+(selectCategory==index?'select':'')" v-for="(item,index) in categoryList" :key="index" @click="clickCategoryItem(index)">
|
||
{{item}}
|
||
<view v-if="selectCategory==index" class="line absolute"></view>
|
||
</view>
|
||
</scroll-view>
|
||
<view v-if="selectCategory==0" class="headingList flex">
|
||
<view class="item flex1" v-for="(item,index) in headingList" :key="index">
|
||
{{item}}
|
||
</view>
|
||
</view>
|
||
<view v-if="selectCategory==0" class="targetList">
|
||
<view class="item" v-for="(item,index) in targetList" :key="index" @click="clickStockItem(item.stock_code)">
|
||
<view class="nameCodePriceC flex">
|
||
<view class="flex1">
|
||
<view class="name">{{item.stock_name}}</view>
|
||
<view class="code">{{item.stock_code}}</view>
|
||
</view>
|
||
<view class="flex1">
|
||
|
||
</view>
|
||
<view class="price flex1">{{item.trade_data.open_price}}</view>
|
||
<view class="price flex1">{{item.trade_data.latest_price}}</view>
|
||
<view :class="'chg flex1 '+(getRateUpOrDown(item.trade_data.change_pct)?'down':'up')">{{item.trade_data.change_pct}}%</view>
|
||
</view>
|
||
<view class="content">{{item.relation_desc}}</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="selectCategory==1" class="conceptList">
|
||
<view class="item relative" v-for="(item,index) in conceptList" :key="index" @click="clickConceptItem()">
|
||
<image class="cover" :src="item.first_image" mode="aspectFill"></image>
|
||
<view class="infoC absolute">
|
||
<view class="title">{{item.concept}}</view>
|
||
<view class="content relative">{{item.reason}}
|
||
<text class="lookDetails absolute">查看详情</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="selectCategory==2" class="historyEventList">
|
||
<view class="expectScoreC flex" @click="clickExpectScore($event)">
|
||
<image class="icon" src="/static/icon/home/expectScore.png" mode="widthFix"></image>
|
||
<view class="score flex1">超预期得分:{{expectScore}}</view>
|
||
<image class="tips" src="/static/icon/home/expectScoreTips.png" mode="widthFix"></image>
|
||
</view>
|
||
<view class="list">
|
||
<view class="item flexStretch" v-for="(item,index) in historyEventList" :key="index">
|
||
<view class="eventLineC relative">
|
||
<view class="line"></view>
|
||
<view class="pointC absolute flexCenter">
|
||
<view class="point"></view>
|
||
</view>
|
||
</view>
|
||
<view class="eventInfoC flex1">
|
||
<view class="titleCorrelationC flex">
|
||
<view class="title flex1">{{item.title}}</view>
|
||
<view class="correlation">相关度: 98%</view>
|
||
</view>
|
||
<view class="content">{{item.content}}</view>
|
||
<scroll-view scroll-x class="increaseRateList">
|
||
<view :class="'rateItem '+(getRateUpOrDown(item.related_avg_chg)?'down':'up')">
|
||
平均涨幅:
|
||
<image v-if="getRateUpOrDown(item.related_avg_chg)" class="arrow" src="/static/icon/home/downArrow.png" mode="widthFix"></image>
|
||
<image v-else class="arrow" src="/static/icon/home/upArrow.png" mode="widthFix"></image>
|
||
{{getRateStr(item.related_avg_chg)}}%
|
||
</view>
|
||
<view :class="'rateItem '+(getRateUpOrDown(item.related_max_chg)?'down':'up')">
|
||
最大涨幅:
|
||
<image v-if="getRateUpOrDown(item.related_max_chg)" class="arrow" src="/static/icon/home/downArrow.png" mode="widthFix"></image>
|
||
<image v-else class="arrow" src="/static/icon/home/upArrow.png" mode="widthFix"></image>
|
||
{{getRateStr(item.related_max_chg)}}%
|
||
</view>
|
||
</scroll-view>
|
||
<view class="relatedStockTimeC flex flex1">
|
||
<view class="relatedStockC flex" @click.stop="clickLookHistoricalEventRelatedStock(item)">
|
||
<image class="icon" src="/static/icon/home/expectScore.png" mode="widthFix"></image>
|
||
查看相关股票
|
||
</view>
|
||
<view class="time flex1">{{getLocaleTime(item.event_date)}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="eventDetails" class="bottomC fixed flex">
|
||
<view class="inputC flex1">
|
||
<input type="text" v-model="eventComment" placeholder="我来说两句..." placeholder-style="color:#666" confirm-type="send" @confirm="sendEventComment()"/>
|
||
</view>
|
||
<view class="commentLikeNumC flex">
|
||
<view class="item">
|
||
<image class="icon" src="/static/icon/home/browser.png" mode="widthFix"></image>
|
||
<view>{{eventDetails.view_count}}</view>
|
||
</view>
|
||
<view class="item" @click="clickComment()">
|
||
<image class="icon" src="/static/icon/home/comment.png" mode="widthFix"></image>
|
||
<view>{{eventDetails.post_count}}</view>
|
||
</view>
|
||
<view class="item" @click="clickFollow()">
|
||
<image class="icon" src="/static/icon/home/follow.png" mode="widthFix"></image>
|
||
<view>{{eventDetails.follower_count}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<uni-popup ref="popup" type="bottom">
|
||
<view class="popup">
|
||
<view class="titleCloseC flex">
|
||
<view class="title flex1">全部回复</view>
|
||
<view class="closeC" @click="closeCommentPopup()">
|
||
<image class="icon" src="/static/icon/home/close.png" mode="widthFix"></image>
|
||
</view>
|
||
</view>
|
||
<view class="list">
|
||
<view class="item">
|
||
<view class="originComment">
|
||
<image class="avatar" src="" mode="aspectFill"></image>
|
||
<view class="flex1">
|
||
<view class="nickname">逸尘破晓</view>
|
||
<view class="content">四部门联合启动的人力资源服务业与制造业融合发展点,主要目的是推动人力资源服务向高端制造渗透。</view>
|
||
<view class="timeReplyLikeC flex between">
|
||
<view class="timeReplyC flex">
|
||
<view class="time">15:37</view>
|
||
<view class="reply">回复</view>
|
||
</view>
|
||
<view class="likeC flex">
|
||
<image class="icon" src="/static/icon/home/like.png" mode="widthFix"></image>
|
||
<view class="num">85</view>
|
||
</view>
|
||
</view>
|
||
<view class="totalCommentNumC flex">
|
||
<view class="line"></view>
|
||
全部34条评论
|
||
<image class="arrow" src="/static/icon/home/commentArrow.png" mode="widthFix"></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="replyList">
|
||
<view class="replyItem">
|
||
<image class="avatar" src="" mode="aspectFill"></image>
|
||
<view class="flex1">
|
||
<view class="nickname">逸尘破晓</view>
|
||
<view class="content">四部门联合启动的人力资源服务业与制造业融合发展点,主要目的是推动人力资源服务向高端制造渗透。</view>
|
||
<view class="timeReplyLikeC flex between">
|
||
<view class="timeReplyC flex">
|
||
<view class="time">15:37</view>
|
||
<view class="reply">回复</view>
|
||
</view>
|
||
<view class="likeC flex">
|
||
<image class="icon" src="/static/icon/home/like.png" mode="widthFix"></image>
|
||
<view class="num">85</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="popBottomC">
|
||
<view class="inputC">
|
||
<input type="text" placeholder="我来说两句..." placeholder-style="color:#666"/>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</uni-popup>
|
||
<uni-popup ref="expectScorePopup" type="top" mask-background-color="transparent">
|
||
<view class="expectScorePopup relative" :style="'margin-top:'+scoreTop+'px;'">
|
||
<image class="arrow absolute" src="/static/icon/home/sortArrow.png" mode="widthFix"></image>
|
||
<view class="tips">
|
||
超预期得分:基于历史事件判断当前事件的超预期情况,满分100分,得分越高,越超预期。
|
||
</view>
|
||
</view>
|
||
</uni-popup>
|
||
<uni-popup ref="stockPopup" type="bottom">
|
||
<view class="stockPopup">
|
||
<view class="titleCloseC flex">
|
||
<view class="title flex1">相关股票</view>
|
||
<view class="closeC" @click="closeRelatedStockPopup()">
|
||
<image class="icon" src="/static/icon/home/close.png" mode="widthFix"></image>
|
||
</view>
|
||
</view>
|
||
<view class="list">
|
||
<view class="item" v-for="(item,index) in historyEventRelatedStockList" :key="index" @click="clickStockItem(item.stock_code)">
|
||
<view class="titleCorrelationC flex">
|
||
<view class="title flex1">{{item.stock_name+'('+item.stock_code+')'}}</view>
|
||
<view class="correlation">相关度: {{item.correlation*100}}%</view>
|
||
</view>
|
||
<view class="sectorRateC">
|
||
<view class="sector">{{item.sector}}</view>
|
||
<view class="rateC">
|
||
当日涨幅:
|
||
<image v-if="getRateUpOrDown(item.daily_change)" class="arrow" src="/static/icon/home/downArrow.png" mode="widthFix"></image>
|
||
<image v-else class="arrow" src="/static/icon/home/upArrow.png" mode="widthFix"></image>
|
||
{{getRateStr(item.daily_change)}}%
|
||
</view>
|
||
</view>
|
||
<view class="content">{{item.relation_desc}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</uni-popup>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { inject } from 'vue';
|
||
import { eventRelatedConcept, eventHistoryEvent, eventRelatedStock, eventCommentList, commentEvent } from '@/request/api';
|
||
import { getLocaleTime, getRateStr, getRateUpOrDown } from '@/utils/util';
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
navH:inject('navHeight'),
|
||
windowWidth:inject('windowWidth'),
|
||
eventId:'', //事件id
|
||
eventDetails:null, //事件详情
|
||
categoryList:['相关标的','相关概念','历史事件','时间传导链分析','关联数据'],
|
||
targetList:[], //相关标的
|
||
conceptList:[], //相关概念
|
||
historyEventList:[], //历史事件
|
||
historyEventRelatedStockList:[], //历史事件相关股票
|
||
selectCategory:0,
|
||
headingList:['名称代码','分时图','开盘价','最新价','涨跌幅'],
|
||
getLocaleTime:getLocaleTime,
|
||
getRateUpOrDown:getRateUpOrDown,
|
||
getRateStr:getRateStr,
|
||
scoreTop:'',
|
||
eventComment:'', //事件评论
|
||
expectScore:0, //预期得分
|
||
}
|
||
},
|
||
onLoad(e)
|
||
{
|
||
if(e.id)
|
||
{
|
||
this.eventId = e.id
|
||
this.getEventRelatedStockData()
|
||
this.getEventCommentListData()
|
||
}
|
||
},
|
||
methods: {
|
||
/**
|
||
* 点击切换分类
|
||
*/
|
||
clickCategoryItem(index)
|
||
{
|
||
if(this.selectCategory!=index)
|
||
{
|
||
this.selectCategory = index
|
||
if(index==0)
|
||
{
|
||
//相关标的
|
||
this.getEventRelatedStockData()
|
||
}else if(index==1)
|
||
{
|
||
//相关概念
|
||
this.getEventRelatedConceptData()
|
||
}else if(index==2)
|
||
{
|
||
//历史事件
|
||
this.getEventHistoryEventData()
|
||
}
|
||
}
|
||
},
|
||
/**
|
||
* 点击查看股票详情
|
||
*/
|
||
clickStockItem(code)
|
||
{
|
||
uni.navigateTo({
|
||
url:'/pages/index/stockDetails/stockDetails?code='+code
|
||
})
|
||
},
|
||
/**
|
||
* 点击查看相关概念
|
||
*/
|
||
clickConceptItem()
|
||
{
|
||
uni.navigateTo({
|
||
url:'/pages/index/conceptDetails/conceptDetails'
|
||
})
|
||
},
|
||
/**
|
||
* 点击查看历史事件的相关股票
|
||
*/
|
||
clickLookHistoricalEventRelatedStock(item)
|
||
{
|
||
this.historyEventRelatedStockList = item.related_stocks
|
||
this.$refs['stockPopup'].open()
|
||
},
|
||
/**
|
||
* 点击关闭相关股票弹窗
|
||
*/
|
||
closeRelatedStockPopup()
|
||
{
|
||
this.$refs['stockPopup'].close()
|
||
},
|
||
/**
|
||
* 点击查看超预期得分
|
||
*/
|
||
clickExpectScore(e)
|
||
{
|
||
this.scoreTop = e.currentTarget.offsetTop+this.navH+(70+10+20)/750*this.windowWidth
|
||
this.$refs['expectScorePopup'].open()
|
||
},
|
||
|
||
/**
|
||
* 点击发送事件评论
|
||
*/
|
||
sendEventComment()
|
||
{
|
||
if(!this.eventComment)
|
||
{
|
||
uni.showToast({
|
||
title:'请输入评论内容',
|
||
icon:'none'
|
||
})
|
||
return
|
||
}
|
||
let eventId = this.eventId
|
||
let param = {content:this.eventComment}
|
||
commentEvent(eventId,param).then(res=>{
|
||
|
||
}).catch(error=>{
|
||
|
||
})
|
||
},
|
||
/**
|
||
* 点击评论
|
||
*/
|
||
clickComment()
|
||
{
|
||
this.$refs['popup'].open()
|
||
},
|
||
/**
|
||
* 点击关闭评论弹窗
|
||
*/
|
||
closeCommentPopup()
|
||
{
|
||
this.$refs['popup'].close()
|
||
},
|
||
/**
|
||
* 点击关注
|
||
*/
|
||
clickFollow()
|
||
{
|
||
let eventId = this.eventId
|
||
followEvent(eventId).then(res=>{
|
||
uni.showToast({
|
||
title:res.message,
|
||
icon:'none'
|
||
})
|
||
}).catch(error=>{
|
||
|
||
})
|
||
},
|
||
/**
|
||
* 获取事件相关标的数据
|
||
*/
|
||
getEventRelatedStockData()
|
||
{
|
||
let eventId = this.eventId
|
||
eventRelatedStock(eventId).then(res=>{
|
||
if(res.code==200)
|
||
{
|
||
this.eventDetails = res.data
|
||
this.targetList = res.data.related_stocks
|
||
}else
|
||
uni.showToast({
|
||
title:res.message,
|
||
icon:'none'
|
||
})
|
||
}).catch(error=>{
|
||
|
||
})
|
||
},
|
||
/**
|
||
* 获取事件相关概念数据
|
||
*/
|
||
getEventRelatedConceptData()
|
||
{
|
||
let eventId = this.eventId
|
||
eventRelatedConcept(eventId).then(res=>{
|
||
if(res.code==200)
|
||
{
|
||
this.conceptList = res.data.related_concepts
|
||
}else
|
||
uni.showToast({
|
||
title:res.message,
|
||
icon:'none'
|
||
})
|
||
}).catch(error=>{
|
||
|
||
})
|
||
},
|
||
/**
|
||
* 获取事件历史事件数据
|
||
*/
|
||
getEventHistoryEventData()
|
||
{
|
||
let eventId = this.eventId
|
||
eventHistoryEvent(eventId).then(res=>{
|
||
if(res.code==200)
|
||
{
|
||
this.expectScore = res.data.invest_score
|
||
this.historyEventList = res.data.historical_events
|
||
}else
|
||
uni.showToast({
|
||
title:res.message,
|
||
icon:'none'
|
||
})
|
||
}).catch(error=>{
|
||
|
||
})
|
||
},
|
||
/**
|
||
* 获取事件评论列表
|
||
*/
|
||
getEventCommentListData()
|
||
{
|
||
let eventId = this.eventId
|
||
eventCommentList(eventId).then(res=>{
|
||
this.commentList = res.data.comments
|
||
}).catch(error=>{
|
||
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="less">
|
||
.topBg
|
||
{
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: auto;
|
||
}
|
||
.eventDetailsC
|
||
{
|
||
background-color: white;
|
||
margin-top: 10rpx;
|
||
padding: 20rpx 0 0;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: calc(20rpx + 70rpx + 20rpx + env(safe-area-inset-bottom));
|
||
border-radius: 20rpx 20rpx 0 0;
|
||
overflow-y: scroll;
|
||
.categoryTitleC
|
||
{
|
||
padding: 0 25rpx;
|
||
.category
|
||
{
|
||
background-color: #FD9A14;
|
||
margin-right: 12rpx;
|
||
display: inline-block;
|
||
padding: 0 11rpx;
|
||
line-height: 40rpx;
|
||
border-radius: 8rpx;
|
||
font-size: 22rpx;
|
||
font-weight: bold;
|
||
color: white;
|
||
}
|
||
.title
|
||
{
|
||
font-size: 30rpx;
|
||
font-weight: bold;
|
||
color: #222;
|
||
}
|
||
}
|
||
.eventTime
|
||
{
|
||
margin: 20rpx 25rpx 0;
|
||
font-size: 22rpx;
|
||
font-weight: 500;
|
||
color: #aaa;
|
||
}
|
||
.eventContent
|
||
{
|
||
margin: 22rpx 24rpx 0;
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #666;
|
||
line-height: 1.2rem;
|
||
}
|
||
.categoryList
|
||
{
|
||
white-space: nowrap;
|
||
margin-top: 10rpx;
|
||
.item
|
||
{
|
||
display: inline-block;
|
||
line-height: 60rpx;
|
||
padding: 0 18rpx;
|
||
font-size: 28rpx;
|
||
font-weight: 500;
|
||
color: #42485B;
|
||
}
|
||
.item.select
|
||
{
|
||
font-weight: bold;
|
||
color: #F97316;
|
||
.line
|
||
{
|
||
background-color: #F97316;
|
||
left: calc((100% - 50rpx)/2);
|
||
bottom: 0;
|
||
width: 50rpx;
|
||
height: 2rpx;
|
||
}
|
||
}
|
||
}
|
||
.headingList
|
||
{
|
||
background-color: #F3F6F9;
|
||
margin: 28rpx 25rpx 0;
|
||
.item
|
||
{
|
||
line-height: 55rpx;
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #999;
|
||
text-align: center;
|
||
}
|
||
}
|
||
.targetList
|
||
{
|
||
padding: 0 25rpx;
|
||
.item
|
||
{
|
||
padding-bottom: 20rpx;
|
||
border-bottom: solid 1rpx #E4E4E4;
|
||
.nameCodePriceC
|
||
{
|
||
padding: 20rpx 0;
|
||
font-size: 28rpx;
|
||
font-weight: bold;
|
||
color: #222;
|
||
.code
|
||
{
|
||
font-size: 20rpx;
|
||
font-weight: 500;
|
||
color: #888;
|
||
}
|
||
.price
|
||
{
|
||
text-align: center;
|
||
}
|
||
.chg
|
||
{
|
||
text-align: center;
|
||
}
|
||
.chg.up
|
||
{
|
||
color: #FF2929;
|
||
}
|
||
.chg.down
|
||
{
|
||
color: #22C55E;
|
||
}
|
||
}
|
||
.content
|
||
{
|
||
font-size: 20rpx;
|
||
font-weight: 500;
|
||
color: #666;
|
||
}
|
||
}
|
||
}
|
||
.conceptList
|
||
{
|
||
padding: 30rpx 25rpx;
|
||
.item
|
||
{
|
||
margin-bottom: 20rpx;
|
||
.cover
|
||
{
|
||
display: block;
|
||
width: 100%;
|
||
height: 350rpx;
|
||
border-radius: 10rpx;
|
||
}
|
||
.infoC
|
||
{
|
||
background: linear-gradient(to bottom,#00000080,#000);
|
||
padding: 20rpx 23rpx;
|
||
left:0;
|
||
width: 100%;
|
||
bottom: 0;
|
||
border-radius: ;
|
||
color: white;
|
||
.title
|
||
{
|
||
font-size: 26rpx;
|
||
font-weight: bold;
|
||
}
|
||
.content
|
||
{
|
||
display: -webkit-box;
|
||
-webkit-line-clamp: 2;
|
||
-webkit-box-orient: vertical;
|
||
overflow: hidden;
|
||
margin-top: 10rpx;
|
||
font-size: 20rpx;
|
||
font-weight: 500;
|
||
line-height: 1.2rem;
|
||
.lookDetails
|
||
{
|
||
right: 0;
|
||
color: #F97316;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.historyEventList
|
||
{
|
||
padding: 34rpx 25rpx;
|
||
.expectScoreC
|
||
{
|
||
background-color: #FBEFE7;
|
||
padding: 0 25rpx;
|
||
height: 70rpx;
|
||
.icon
|
||
{
|
||
margin-right: 14rpx;
|
||
width: 24rpx;
|
||
height: auto;
|
||
}
|
||
.score
|
||
{
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #F97316;
|
||
}
|
||
.tips
|
||
{
|
||
margin-left: 14rpx;
|
||
width: 24rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
.list
|
||
{
|
||
padding: 23rpx 0;
|
||
.item
|
||
{
|
||
.eventLineC
|
||
{
|
||
padding: 0 43rpx 0 15rpx;
|
||
.line
|
||
{
|
||
background-color: #F0F0F0;
|
||
width: 1px;
|
||
height: 100%;
|
||
}
|
||
.pointC
|
||
{
|
||
background-color: #F9731680;
|
||
top: 0;
|
||
left: 5rpx;
|
||
width: 20rpx;
|
||
height: 20rpx;
|
||
border-radius: 50%;
|
||
.point
|
||
{
|
||
background-color: #F97316;
|
||
width: 10rpx;
|
||
height: 10rpx;
|
||
border-radius: 50%;
|
||
}
|
||
}
|
||
}
|
||
.eventInfoC
|
||
{
|
||
box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.07);
|
||
margin-bottom: 20rpx;
|
||
padding-top: 27rpx;
|
||
min-width: 0;
|
||
border-radius: 10rpx;
|
||
.titleCorrelationC
|
||
{
|
||
padding: 0 24rpx 0 30rpx;
|
||
.title
|
||
{
|
||
min-width: 0;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
font-size: 30rpx;
|
||
font-weight: bold;
|
||
color: #222;
|
||
}
|
||
.correlation
|
||
{
|
||
background-color: #F973161A;
|
||
padding: 0 12rpx;
|
||
line-height: 40rpx;
|
||
border-radius: 5rpx;
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #F97316;
|
||
}
|
||
}
|
||
.content
|
||
{
|
||
margin: 16rpx 30rpx 0;
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #666;
|
||
}
|
||
.increaseRateList
|
||
{
|
||
white-space: nowrap;
|
||
padding: 0 30rpx;
|
||
margin-top: 24rpx;
|
||
.rateItem
|
||
{
|
||
display: inline-block;
|
||
margin-right: 15rpx;
|
||
line-height: 44rpx;
|
||
padding: 0 14rpx;
|
||
border-radius: 10rpx;
|
||
font-size: 22rpx;
|
||
font-weight: bold;
|
||
color: white;
|
||
.arrow
|
||
{
|
||
width: 15rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
.rateItem.up
|
||
{
|
||
background-color: #C00000;
|
||
}
|
||
.rateItem.down
|
||
{
|
||
background-color: #355422;
|
||
}
|
||
}
|
||
.relatedStockTimeC
|
||
{
|
||
padding-right: 28rpx;
|
||
.relatedStockC
|
||
{
|
||
padding: 16rpx 30rpx;
|
||
font-size: 24rpx;
|
||
font-weight: bold;
|
||
color: #F97316;
|
||
.icon
|
||
{
|
||
margin-right: 13rpx;
|
||
width: 24rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
.time
|
||
{
|
||
font-size: 22rpx;
|
||
font-weight: 500;
|
||
color: #aaa;
|
||
text-align: right;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.bottomC
|
||
{
|
||
padding: 20rpx 25rpx calc(20rpx + env(safe-area-inset-bottom));
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
box-shadow: 0px -1rpx 0px 0px #EEEEEE;
|
||
.inputC
|
||
{
|
||
background-color: #F0F0F0;
|
||
margin-right: 20rpx;
|
||
padding: 0 33rpx;
|
||
height: 70rpx;
|
||
border-radius: 35rpx;
|
||
input
|
||
{
|
||
height: 100%;
|
||
font-size: 26rpx;
|
||
font-weight: 500;
|
||
}
|
||
}
|
||
.commentLikeNumC
|
||
{
|
||
.item
|
||
{
|
||
font-size: 26rpx;
|
||
font-weight: bold;
|
||
color: #666;
|
||
text-align: center;
|
||
.icon
|
||
{
|
||
margin: 0 20rpx;
|
||
width: 35rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.popup
|
||
{
|
||
background-color: white;
|
||
.titleCloseC
|
||
{
|
||
padding-left: 25rpx;
|
||
font-size: 32rpx;
|
||
font-weight: bold;
|
||
color: #222;
|
||
.closeC
|
||
{
|
||
padding: 28rpx;
|
||
.icon
|
||
{
|
||
width: 28rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
}
|
||
.list
|
||
{
|
||
margin: 0 25rpx;
|
||
border-top: solid 1rpx #E4E4E4;
|
||
max-height: 1200rpx;
|
||
.item
|
||
{
|
||
padding-top: 30rpx;
|
||
border-bottom: solid 1rpx #E4E4E4;
|
||
.originComment
|
||
{
|
||
display: flex;
|
||
.avatar
|
||
{
|
||
margin-right: 23rpx;
|
||
width: 80rpx;
|
||
height: 80rpx;
|
||
border-radius: 50%;
|
||
}
|
||
.nickname
|
||
{
|
||
font-size: 28rpx;
|
||
font-weight: bold;
|
||
color: #111;
|
||
}
|
||
.content
|
||
{
|
||
margin-top: 10rpx;
|
||
line-height: 1.2rem;
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #666;
|
||
}
|
||
.timeReplyLikeC
|
||
{
|
||
.time
|
||
{
|
||
margin-right: 36rpx;
|
||
font-size: 26rpx;
|
||
font-weight: 500;
|
||
color: #aaa;
|
||
}
|
||
.reply
|
||
{
|
||
font-size: 26rpx;
|
||
font-weight: 500;
|
||
color: #F97316;
|
||
}
|
||
.likeC
|
||
{
|
||
padding: 14rpx 0;
|
||
font-size: 28rpx;
|
||
font-weight: bold;
|
||
color: #999;
|
||
.icon
|
||
{
|
||
margin-right: 12rpx;
|
||
width: 27rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
.likeC.like
|
||
{
|
||
color: #F97316;
|
||
}
|
||
}
|
||
.totalCommentNumC
|
||
{
|
||
padding: 14rpx 0 22rpx;
|
||
font-size: 26rpx;
|
||
font-weight: 500;
|
||
color: #999;
|
||
.line
|
||
{
|
||
background-color: #aaa;
|
||
margin-right: 18rpx;
|
||
width: 30rpx;
|
||
height: 2rpx;
|
||
}
|
||
.arrow
|
||
{
|
||
margin-left: 14rpx;
|
||
width: 13rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
}
|
||
.replyList
|
||
{
|
||
margin-left: 60rpx;
|
||
border-top: solid 1rpx #E4E4E4;
|
||
.replyItem
|
||
{
|
||
display: flex;
|
||
padding: 22rpx 0;
|
||
border-bottom: solid 1rpx #E4E4E4;
|
||
.avatar
|
||
{
|
||
margin-right: 23rpx;
|
||
width: 80rpx;
|
||
height: 80rpx;
|
||
border-radius: 50%;
|
||
}
|
||
.nickname
|
||
{
|
||
font-size: 28rpx;
|
||
font-weight: bold;
|
||
color: #111;
|
||
}
|
||
.content
|
||
{
|
||
margin-top: 10rpx;
|
||
line-height: 1.2rem;
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #666;
|
||
}
|
||
.timeReplyLikeC
|
||
{
|
||
.time
|
||
{
|
||
margin-right: 36rpx;
|
||
font-size: 26rpx;
|
||
font-weight: 500;
|
||
color: #aaa;
|
||
}
|
||
.reply
|
||
{
|
||
font-size: 26rpx;
|
||
font-weight: 500;
|
||
color: #F97316;
|
||
}
|
||
.likeC
|
||
{
|
||
padding: 14rpx 0;
|
||
font-size: 28rpx;
|
||
font-weight: bold;
|
||
color: #999;
|
||
.icon
|
||
{
|
||
margin-right: 12rpx;
|
||
width: 27rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
.likeC.like
|
||
{
|
||
color: #F97316;
|
||
}
|
||
}
|
||
}
|
||
.replyItem:last-child
|
||
{
|
||
border: none;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.popBottomC
|
||
{
|
||
padding: 22rpx 25rpx calc(22rpx + env(safe-area-inset-bottom));
|
||
.inputC
|
||
{
|
||
background-color: #F0F0F0;
|
||
padding: 0 33rpx;
|
||
height: 70rpx;
|
||
border-radius: 35rpx;
|
||
input
|
||
{
|
||
height: 100%;
|
||
font-size: 26rpx;
|
||
font-weight: 500;
|
||
color: #333;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.expectScorePopup
|
||
{
|
||
background-color: white;
|
||
margin-left: calc(100% - 320rpx - 24rpx);
|
||
width: 320rpx;
|
||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
||
border-radius: 10rpx;
|
||
.arrow
|
||
{
|
||
top: -13rpx;
|
||
right: 38rpx;
|
||
width: 26rpx;
|
||
height: auto;
|
||
}
|
||
.tips
|
||
{
|
||
padding: 30rpx 22rpx 20rpx;
|
||
font-size: 22rpx;
|
||
font-weight: 500;
|
||
color: #444;
|
||
}
|
||
}
|
||
.stockPopup
|
||
{
|
||
background-color: white;
|
||
border-radius: 20rpx 20rpx 0 0;
|
||
.titleCloseC
|
||
{
|
||
padding-left: 25rpx;
|
||
font-size: 32rpx;
|
||
font-weight: bold;
|
||
color: #222;
|
||
.closeC
|
||
{
|
||
padding: 28rpx;
|
||
.icon
|
||
{
|
||
width: 28rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
}
|
||
.list
|
||
{
|
||
border-top: solid 1rpx #E4E4E4;
|
||
margin: 0 25rpx;
|
||
max-height: 800rpx;
|
||
overflow-y: scroll;
|
||
.item
|
||
{
|
||
padding: 36rpx 0 28rpx;
|
||
border-bottom: solid 1rpx #E4E4E4;
|
||
.titleCorrelationC
|
||
{
|
||
.title
|
||
{
|
||
min-width: 0;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
font-size: 30rpx;
|
||
font-weight: bold;
|
||
color: #222;
|
||
}
|
||
.correlation
|
||
{
|
||
background-color: #F973161A;
|
||
padding: 0 12rpx;
|
||
line-height: 40rpx;
|
||
border-radius: 5rpx;
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #F97316;
|
||
}
|
||
}
|
||
.sectorRateC
|
||
{
|
||
.sector
|
||
{
|
||
display: inline-block;
|
||
margin-right: 20rpx;
|
||
padding: 0 11rpx;
|
||
line-height: 30rpx;
|
||
border-radius: 5rpx;
|
||
border: solid 0.5px #F6604A;
|
||
font-size: 20rpx;
|
||
font-weight: 500;
|
||
color: #F6604A;
|
||
}
|
||
.rateC
|
||
{
|
||
background-color: #C00000;
|
||
display: inline-block;
|
||
padding: 0 10rpx;
|
||
height: 30rpx;
|
||
border-radius: 5rpx;
|
||
font-size: 20rpx;
|
||
font-weight: 500;
|
||
color: white;
|
||
.arrow
|
||
{
|
||
width: 15rpx;
|
||
height: auto;
|
||
}
|
||
}
|
||
}
|
||
.content
|
||
{
|
||
margin-top: 16rpx;
|
||
font-size: 24rpx;
|
||
font-weight: 500;
|
||
color: #666;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style>
|