12.12 页面风格改版,增加事件详情相关概念网页跳转,增加绑定手机号功能
This commit is contained in:
@@ -17,9 +17,7 @@
|
||||
<view>涨跌幅</view>
|
||||
<image class="arrow" src="/static/icon/home/conceptCenter/conceptScreenArrow.png" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="line">
|
||||
|
||||
</view>
|
||||
<view class="line"></view>
|
||||
<view class="transactionDateC flex" @click="clickTransactionDate()">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/transactionDate.png" mode="widthFix"></image>
|
||||
<view>交易日期</view>
|
||||
@@ -38,18 +36,18 @@
|
||||
<view class="content">{{item.description}}</view>
|
||||
<view class="hotStockC flex">
|
||||
<view class="title">热门个股</view>
|
||||
<view class="stockList flex">
|
||||
<view v-if="memberInfo.is_member&&memberInfo.subscription_type=='pro'" class="stockList flex">
|
||||
<view class="stockItem" v-for="(sitem,sindex) in item.stocks.slice(0,3)" :key="sindex">{{sitem.stock_name}}</view>
|
||||
<view class="more" @click="clickStockMore(item)">+{{item.stock_count-3}}更多</view>
|
||||
<view class="more" @click.stop="clickStockMore(item)">+{{item.stock_count-3}}更多</view>
|
||||
</view>
|
||||
<!-- <view class="notVipC flex" @click="clickNotVip()">
|
||||
<view v-else class="notVipC flex" @click.stop="clickNotVip()">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/lock.png" mode="widthFix"></image>
|
||||
<view>需升级Pro会员查看{{item.stock_count}}只个股</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="transactionDateHistoryTimeC flex">
|
||||
<view class="transactionDate flex1">交易时间:{{item.price_info?item.price_info.trade_date:''}}</view>
|
||||
<view class="historyTimeC flex" @click="clickHistoricalTimeline(item)">
|
||||
<view class="historyTimeC flex" @click.stop="clickHistoricalTimeline(item)">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/timeAxis.png" mode="widthFix"></image>
|
||||
<view>历史时间轴</view>
|
||||
</view>
|
||||
@@ -332,7 +330,8 @@
|
||||
conceptList:[],
|
||||
page:1,
|
||||
getRateUpOrDown:getRateUpOrDown,
|
||||
getChgRateStr:getChgRateStr
|
||||
getChgRateStr:getChgRateStr,
|
||||
memberInfo:null, //会员信息
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
@@ -508,13 +507,11 @@
|
||||
this.selectDateStr = this.selectStartDateStr
|
||||
this.selectMonth = this.selectStartMonth
|
||||
this.selectMonthIndex = this.selectStartMonthIndex
|
||||
console.log(this.selectStartMonthIndex,333,this.selectStartDateStr)
|
||||
} else {
|
||||
//排行榜自定义结束时间
|
||||
this.selectDateStr = this.selectEndDateStr
|
||||
this.selectMonth = this.selectEndMonth
|
||||
this.selectMonthIndex = this.selectEndMonthIndex
|
||||
console.log(this.selectEndMonthIndex,222,this.selectEndDateStr)
|
||||
}
|
||||
this.$refs["transactionDatePopup"].open()
|
||||
},
|
||||
@@ -533,6 +530,8 @@
|
||||
})
|
||||
return
|
||||
}
|
||||
this.startDateStr = this.selectStartDateStr
|
||||
this.endDateStr = this.endDateStr
|
||||
this.getRankListData()
|
||||
},
|
||||
/**
|
||||
@@ -747,7 +746,7 @@
|
||||
clickStockMore(item)
|
||||
{
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/hotStock/hotStock?id='+item.concept_id
|
||||
url:'/pages/concept/hotStock/hotStock?id='+item.concept_id
|
||||
})
|
||||
},
|
||||
/**
|
||||
@@ -756,7 +755,7 @@
|
||||
clickHistoricalTimeline(item)
|
||||
{
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/historicalTimeline/historicalTimeline?id='+item.concept_id
|
||||
url:'/pages/concept/historicalTimeline/historicalTimeline?id='+item.concept_id
|
||||
})
|
||||
},
|
||||
/**
|
||||
@@ -766,14 +765,7 @@
|
||||
{
|
||||
let param = {query:this.keywords,size:10,page:this.page,sort_by:this.sortType,isJson:1,trade_date:this.selectDateStr}
|
||||
eventRelatedConcept(param).then(res=>{
|
||||
// if(res.code==200)
|
||||
// {
|
||||
this.conceptList = res.results
|
||||
// }else
|
||||
// uni.showToast({
|
||||
// title:res.message,
|
||||
// icon:'none'
|
||||
// })
|
||||
this.conceptList = res.results
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
@@ -845,7 +837,7 @@
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,17 +1,20 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="事件详情"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<navBar leftText="事件详情" :hideNavBg="true"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.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}}<text class="ai">(AI合成)</text></view>
|
||||
<view class="riskTips">
|
||||
【风险提示:解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息,团队辛苦编写,未经许可严禁转载。本产品内容内容均不构成投资建议,请投资者注意风险,独立审慎决策。】
|
||||
<view class="eventIntroC">
|
||||
<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}}<text class="ai">(AI合成)</text></view>
|
||||
<view class="riskTips">
|
||||
【风险提示:解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息,团队辛苦编写,未经许可严禁转载。本产品内容内容均不构成投资建议,请投资者注意风险,独立审慎决策。】
|
||||
</view>
|
||||
</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}}
|
||||
@@ -42,33 +45,30 @@
|
||||
<view class="content">{{item.relation_desc}}<text class="ai">(AI合成)</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="selectCategory==1" class="conceptList flexWrap">
|
||||
<view v-if="selectCategory==1" class="conceptList">
|
||||
<view class="conceptItem" v-for="(item,index) in conceptList" :key="index" @click="clickConceptItem(item.concept)">
|
||||
<view class="coverC relative">
|
||||
<image class="cover" src="" mode="aspectFill"></image>
|
||||
<view :class="'rateC absolute '+(getRateUpOrDown(item.price_info.avg_change_pct)?'down':'up')">
|
||||
<image v-if="getRateUpOrDown(item.price_info.avg_change_pct)" class="icon" src="/static/icon/home/conceptDownArrow.png" mode="widthFix"></image>
|
||||
<image v-else class="icon" src="/static/icon/home/conceptUpArrow.png" mode="widthFix"></image>
|
||||
<text>{{getRateStr(item.price_info.avg_change_pct)}}%</text>
|
||||
</view>
|
||||
<view class="totalC absolute">{{item.stock_count}}只股票</view>
|
||||
<view class="titleChgStockNumC flex">
|
||||
<view class="title">{{item.concept}}</view>
|
||||
<view v-if="item.price_info" :class="'chg '+(getRateUpOrDown(item.price_info.avg_change_pct)?'down':'up')">{{getChgRateStr(item.price_info.avg_change_pct)}}%</view>
|
||||
<view v-if="item.price_info" :class="'stockNum '+(getRateUpOrDown(item.price_info.avg_change_pct)?'down':'up')">{{item.stock_count}} 只股票</view>
|
||||
</view>
|
||||
<view class="infoC">
|
||||
<view class="title">{{item.concept}}</view>
|
||||
<view class="content">{{item.description}}</view>
|
||||
<view class="transactionDate">交易日期: {{item.price_info.trade_date}}</view>
|
||||
<view class="hotStockC">
|
||||
<view class="titleC flex">
|
||||
<text class="flex1">热门个股</text>
|
||||
<image class="arrow" src="/static/icon/home/stockArrow.png" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="stockList flexWrap">
|
||||
<view class="item" v-for="(item,index) in item.stocks" :key="index">{{item.stock_name}}</view>
|
||||
</view>
|
||||
<view class="content">{{item.description}}</view>
|
||||
<view class="hotStockC flex">
|
||||
<view class="title">热门个股</view>
|
||||
<view v-if="memberInfo&&memberInfo.is_member&&memberInfo.subscription_type=='pro'" class="stockList flex">
|
||||
<view class="stockItem" v-for="(sitem,sindex) in item.stocks.slice(0,3)" :key="sindex">{{sitem.name}}</view>
|
||||
<view class="more" @click.stop="clickStockMore(item)">+{{item.stock_count-3}}更多</view>
|
||||
</view>
|
||||
<view class="dateHistoryTimeC flex">
|
||||
<view class="date flex1">{{item.happened_times[0]+(item.happened_times.length>1?('(共'+item.happened_times.length+'次)'):'')}}</view>
|
||||
<view class="historyTimeC">历史时间轴</view>
|
||||
<view v-else class="notVipC flex" @click.stop="clickNotVip()">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/lock.png" mode="widthFix"></image>
|
||||
<view>需升级Pro会员查看{{item.stock_count}}只个股</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="transactionDateHistoryTimeC flex">
|
||||
<view class="transactionDate flex1">交易时间:{{item.price_info?item.price_info.trade_date:''}}</view>
|
||||
<view class="historyTimeC flex" @click.stop="clickHistoricalTimeline(item)">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/timeAxis.png" mode="widthFix"></image>
|
||||
<view>历史时间轴</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -83,9 +83,7 @@
|
||||
<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>
|
||||
<image class="point absolute" src="/static/icon/home/expectScoreDot.png" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="eventInfoC flex1">
|
||||
<view class="titleCorrelationC flex">
|
||||
@@ -234,13 +232,70 @@
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
<uni-popup ref="vipPopup" type="center">
|
||||
<view class="vipPopup">
|
||||
<image class="topIcon" src="/static/icon/home/conceptCenter/vipPopIcon.png" mode="widthFix"></image>
|
||||
<view class="popTitle">需要Pro版订阅</view>
|
||||
<view class="popSubtitle">当前功能需要更高权限</view>
|
||||
<view class="moduleC visit">
|
||||
<view class="section">您正在尝试访问</view>
|
||||
<view class="visitC relative">
|
||||
<view class="line absolute"></view>
|
||||
<view class="contentC relative flex">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/visitModule.png" mode="widthFix"></image>
|
||||
<view>概念统计中心和热门个股</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="moduleC">
|
||||
<view class="section flex">
|
||||
当前订阅
|
||||
<view class="version free">免费版</view>
|
||||
</view>
|
||||
<view class="list">
|
||||
<view class="item flex">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/free_s.png" mode="widthFix"></image>
|
||||
<view>基础事件浏览</view>
|
||||
</view>
|
||||
<view class="item flex">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/free_s.png" mode="widthFix"></image>
|
||||
<view>有限历史事件查看</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="moduleC">
|
||||
<view class="section flex">
|
||||
所需订阅
|
||||
<view class="version pro">Pro版</view>
|
||||
</view>
|
||||
<view class="list">
|
||||
<view class="item flex">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/pro_s.png" mode="widthFix"></image>
|
||||
<view>相关标的分析</view>
|
||||
</view>
|
||||
<view class="item flex">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/pro_s.png" mode="widthFix"></image>
|
||||
<view>相关概念分析</view>
|
||||
</view>
|
||||
<view class="item flex">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/pro_s.png" mode="widthFix"></image>
|
||||
<view>完整历史事件</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btnC flex">
|
||||
<view class="btn flex1 later" @click="clickLater()">稍后再说</view>
|
||||
<view class="btn flex1 upgrade" @click="clickUpgradeAtOnce()">立即升级</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue';
|
||||
import { eventRelatedConcept, eventHistoryEvent, eventRelatedStock, eventCommentList, commentEvent, likeEventComment, replyComment, followEvent } from '@/request/api';
|
||||
import { getLocaleHourMinute, getLocaleTime, getRateStr, getRateUpOrDown } from '@/utils/util';
|
||||
import { eventRelatedConcept, eventHistoryEvent, eventRelatedStock, eventCommentList, commentEvent, likeEventComment, replyComment, followEvent, membershipStatus } from '@/request/api';
|
||||
import { getLocaleHourMinute, getLocaleTime, getRateStr, getRateUpOrDown, getChgRateStr } from '@/utils/util';
|
||||
const echarts = require('../../../uni_modules/lime-echart/static/echarts.min.js');
|
||||
|
||||
export default {
|
||||
@@ -249,6 +304,7 @@
|
||||
navH:inject('navHeight'),
|
||||
windowWidth:inject('windowWidth'),
|
||||
eventId:'', //事件id
|
||||
memberInfo:null, //会员信息
|
||||
eventDetails:null, //事件详情
|
||||
categoryList:['相关标的','相关概念','历史事件'],
|
||||
targetList:[], //相关标的
|
||||
@@ -261,6 +317,7 @@
|
||||
getLocaleTime:getLocaleTime,
|
||||
getRateUpOrDown:getRateUpOrDown,
|
||||
getRateStr:getRateStr,
|
||||
getChgRateStr:getChgRateStr,
|
||||
scoreTop:'',
|
||||
expectScore:0, //预期得分
|
||||
commentList:[], //评价列表
|
||||
@@ -421,6 +478,45 @@
|
||||
url:'/pages/index/conceptDetails/conceptDetails?name='+name
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 非vip点击
|
||||
*/
|
||||
clickNotVip()
|
||||
{
|
||||
this.$refs["vipPopup"].open()
|
||||
},
|
||||
/**
|
||||
* 点击稍后再说
|
||||
*/
|
||||
clickLater()
|
||||
{
|
||||
this.$refs["vipPopup"].close()
|
||||
},
|
||||
/**
|
||||
* 点击立即升级
|
||||
*/
|
||||
clickUpgradeAtOnce()
|
||||
{
|
||||
this.clickLater()
|
||||
},
|
||||
/**
|
||||
* 点击查看更多个股
|
||||
*/
|
||||
clickStockMore(item)
|
||||
{
|
||||
uni.navigateTo({
|
||||
url:'/pages/concept/hotStock/hotStock?id='+item.concept_id
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 点击查看历史时间轴
|
||||
*/
|
||||
clickHistoricalTimeline(item)
|
||||
{
|
||||
uni.navigateTo({
|
||||
url:'/pages/concept/historicalTimeline/historicalTimeline?id='+item.concept_id
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 点击查看历史事件的相关股票
|
||||
*/
|
||||
@@ -441,7 +537,7 @@
|
||||
*/
|
||||
clickExpectScore(e)
|
||||
{
|
||||
this.scoreTop = e.currentTarget.offsetTop+this.navH+(70+10+20)/750*this.windowWidth
|
||||
this.scoreTop = e.currentTarget.offsetTop+this.navH+(70+10)/750*this.windowWidth
|
||||
this.$refs['expectScorePopup'].open()
|
||||
},
|
||||
|
||||
@@ -586,7 +682,7 @@
|
||||
getEventRelatedConceptData()
|
||||
{
|
||||
let eventDetails = this.eventDetails
|
||||
let param = {query:eventDetails.event_title,size:4,page:1,sort_by:"_score",isJson:1}
|
||||
let param = {query:eventDetails.event_title,size:10,page:1,sort_by:"_score",isJson:1}
|
||||
eventRelatedConcept(param).then(res=>{
|
||||
// if(res.code==200)
|
||||
// {
|
||||
@@ -637,6 +733,10 @@
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
page
|
||||
{
|
||||
background-color: #070707;
|
||||
}
|
||||
.topBg
|
||||
{
|
||||
top: 0;
|
||||
@@ -646,106 +746,104 @@
|
||||
}
|
||||
.eventDetailsC
|
||||
{
|
||||
background-color: white;
|
||||
margin-top: 10rpx;
|
||||
padding: 20rpx 0 0;
|
||||
padding: 20rpx 25rpx 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
|
||||
.eventIntroC
|
||||
{
|
||||
padding: 0 25rpx;
|
||||
.category
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
padding: 26rpx 0 34rpx;
|
||||
border-radius: 10rpx;
|
||||
.categoryTitleC
|
||||
{
|
||||
background-color: #FD9A14;
|
||||
margin-right: 12rpx;
|
||||
display: inline-block;
|
||||
padding: 0 11rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 8rpx;
|
||||
padding: 0 25rpx;
|
||||
.category
|
||||
{
|
||||
background-color: #F3C368;
|
||||
margin-right: 8rpx;
|
||||
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;
|
||||
line-height: 1.1rem;
|
||||
}
|
||||
}
|
||||
.eventTime
|
||||
{
|
||||
margin: 20rpx 25rpx 0;
|
||||
font-size: 22rpx;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
font-weight: 500;
|
||||
color: #666;
|
||||
}
|
||||
.title
|
||||
.eventContent
|
||||
{
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
color: #222;
|
||||
margin: 18rpx 27rpx 0;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #71675D;
|
||||
line-height: 1.3rem;
|
||||
.ai
|
||||
{
|
||||
color: #EC3440;
|
||||
}
|
||||
}
|
||||
}
|
||||
.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;
|
||||
.ai
|
||||
.riskTips
|
||||
{
|
||||
color: #C00000;
|
||||
margin: 24rpx 25rpx 0;
|
||||
line-height: 1.2rem;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #A2A2A1;
|
||||
}
|
||||
}
|
||||
.riskTips
|
||||
{
|
||||
margin: 20rpx 25rpx 0;
|
||||
padding-bottom: 30rpx;
|
||||
line-height: 1.4rem;
|
||||
font-size: 20rpx;
|
||||
color: #999;
|
||||
border-bottom: solid 1rpx #E4E4E4;
|
||||
}
|
||||
.categoryList
|
||||
{
|
||||
white-space: nowrap;
|
||||
margin-top: 10rpx;
|
||||
.item
|
||||
{
|
||||
display: inline-block;
|
||||
line-height: 60rpx;
|
||||
line-height: 80rpx;
|
||||
padding: 0 18rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 27rpx;
|
||||
font-weight: 500;
|
||||
color: #42485B;
|
||||
color: #939393;
|
||||
}
|
||||
.item.select
|
||||
{
|
||||
font-weight: bold;
|
||||
color: #F97316;
|
||||
.line
|
||||
{
|
||||
background-color: #F97316;
|
||||
left: calc((100% - 50rpx)/2);
|
||||
bottom: 0;
|
||||
width: 50rpx;
|
||||
height: 2rpx;
|
||||
}
|
||||
color: #F3C368;
|
||||
}
|
||||
}
|
||||
.headingList
|
||||
{
|
||||
background-color: #F3F6F9;
|
||||
margin: 28rpx 25rpx 0;
|
||||
background-color: #FFF1E7;
|
||||
padding: 0 10rpx;
|
||||
border-radius: 10rpx 10rpx 0 0;
|
||||
.item
|
||||
{
|
||||
line-height: 55rpx;
|
||||
line-height: 70rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #999;
|
||||
color: #070707;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.targetList
|
||||
{
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
padding: 0 25rpx;
|
||||
.item
|
||||
{
|
||||
@@ -769,7 +867,7 @@
|
||||
}
|
||||
.chg
|
||||
{
|
||||
text-align: center;
|
||||
text-align: right;
|
||||
}
|
||||
.chg.up
|
||||
{
|
||||
@@ -777,168 +875,169 @@
|
||||
}
|
||||
.chg.down
|
||||
{
|
||||
color: #22C55E;
|
||||
color: #355422;
|
||||
}
|
||||
}
|
||||
.content
|
||||
{
|
||||
font-size: 20rpx;
|
||||
font-weight: 500;
|
||||
color: #666;
|
||||
color: #71675D;
|
||||
line-height: 1.2rem;
|
||||
.ai
|
||||
{
|
||||
color: #C00000;
|
||||
color: #EC3440;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.conceptList
|
||||
{
|
||||
padding: 30rpx 25rpx;
|
||||
.conceptItem
|
||||
{
|
||||
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.05);
|
||||
margin: 0 30rpx 30rpx 0;
|
||||
width: calc((100% - 30rpx)/2);
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin-bottom: 20rpx;
|
||||
border-radius: 10rpx;
|
||||
.coverC
|
||||
.titleChgStockNumC
|
||||
{
|
||||
.cover
|
||||
padding: 24rpx 18rpx 0;
|
||||
.title
|
||||
{
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 220rpx;
|
||||
margin-right: 20rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
.rateC
|
||||
.chg
|
||||
{
|
||||
top: 12rpx;
|
||||
left: 12rpx;
|
||||
padding: 0 10rpx;
|
||||
margin-right: 20rpx;
|
||||
padding: 0 13rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 20rpx;
|
||||
font-size: 18rpx;
|
||||
font-weight: 500;
|
||||
font-size: 22rpx;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
}
|
||||
.chg.up
|
||||
{
|
||||
background-color: #EC3440;
|
||||
}
|
||||
.chg.down
|
||||
{
|
||||
background-color: #355422;
|
||||
}
|
||||
.stockNum
|
||||
{
|
||||
padding: 0 16rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 20rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
.stockNum.up
|
||||
{
|
||||
color: #EC3440;
|
||||
border: solid 2rpx #EC3440;
|
||||
}
|
||||
.stockNum.down
|
||||
{
|
||||
color: #355422;
|
||||
border: solid 2rpx #355422;
|
||||
}
|
||||
}
|
||||
.content
|
||||
{
|
||||
margin-top: 26rpx;
|
||||
padding: 0 22rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #71675D;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.hotStockC
|
||||
{
|
||||
margin-top: 30rpx;
|
||||
padding: 0 20rpx;
|
||||
.title
|
||||
{
|
||||
margin-right: 10rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: #936E5C;
|
||||
}
|
||||
.stockList
|
||||
{
|
||||
font-size: 22rpx;
|
||||
.stockItem
|
||||
{
|
||||
background-color: #3D3D3D;
|
||||
margin-right: 10rpx;
|
||||
padding: 0 8rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 5rpx 20rpx 5rpx 20rpx;
|
||||
color: #EFDDD1;
|
||||
}
|
||||
.more
|
||||
{
|
||||
color: #936E5C;
|
||||
line-height: 36rpx;
|
||||
}
|
||||
}
|
||||
.notVipC
|
||||
{
|
||||
background-color: #3D3D3D;
|
||||
padding: 0 21rpx 0 16rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 22rpx;
|
||||
color: #F3C368;
|
||||
.icon
|
||||
{
|
||||
width: 11rpx;
|
||||
margin-right: 9rpx;
|
||||
width: 15rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
.rateC.up
|
||||
{
|
||||
background-color: #E53E3E;
|
||||
}
|
||||
.rateC.down
|
||||
{
|
||||
background-color: #38A169;
|
||||
}
|
||||
.totalC
|
||||
{
|
||||
background: linear-gradient(-90deg, #FAC915 0%, #F18D10 100%);
|
||||
top: 12rpx;
|
||||
right: 12rpx;
|
||||
padding: 0 9rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 20rpx;
|
||||
font-size: 20rpx;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
.infoC
|
||||
.transactionDateHistoryTimeC
|
||||
{
|
||||
padding: 20rpx 23rpx;
|
||||
.title
|
||||
padding: 20rpx 22rpx 30rpx;
|
||||
.transactionDate
|
||||
{
|
||||
font-size: 26rpx;
|
||||
font-weight: bold;
|
||||
color: #222;
|
||||
}
|
||||
.content
|
||||
{
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
margin-top: 10rpx;
|
||||
line-height: 1.2rem;
|
||||
font-size: 20rpx;
|
||||
font-weight: 500;
|
||||
color: #666;
|
||||
}
|
||||
.transactionDate
|
||||
.historyTimeC
|
||||
{
|
||||
margin-top: 12rpx;
|
||||
background-color: #F3C368;
|
||||
padding: 0 10rpx 0 15rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #AAA;
|
||||
}
|
||||
.hotStockC
|
||||
{
|
||||
background-color: #F7FAFC;
|
||||
margin-top: 16rpx;
|
||||
padding: 10rpx 13rpx;
|
||||
border-radius: 5rpx;
|
||||
.titleC
|
||||
color: #101213;
|
||||
.icon
|
||||
{
|
||||
font-size: 20rpx;
|
||||
font-weight: 500;
|
||||
color: #666;
|
||||
.arrow
|
||||
{
|
||||
width: 6rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
.stockList
|
||||
{
|
||||
margin-top: 10rpx;
|
||||
height: 35rpx;
|
||||
overflow: hidden;
|
||||
.item
|
||||
{
|
||||
background-color: #FFEADC;
|
||||
margin: 0 5rpx 5rpx 0;
|
||||
padding: 0 9rpx;
|
||||
line-height: 30rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 18rpx;
|
||||
font-weight: 500;
|
||||
color: #F97316;
|
||||
}
|
||||
}
|
||||
}
|
||||
.dateHistoryTimeC
|
||||
{
|
||||
margin-top: 10rpx;
|
||||
font-size: 20rpx;
|
||||
.date
|
||||
{
|
||||
color: #666;
|
||||
}
|
||||
.historyTimeC
|
||||
{
|
||||
background-color: #F97316;
|
||||
padding: 0 6rpx;
|
||||
line-height: 38rpx;
|
||||
border-radius: 5rpx;
|
||||
color: white;
|
||||
margin-right: 7rpx;
|
||||
width: 20rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.conceptItem:nth-child(2n)
|
||||
{
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
}
|
||||
.historyEventList
|
||||
{
|
||||
padding: 34rpx 25rpx;
|
||||
padding: 20rpx 0;
|
||||
.expectScoreC
|
||||
{
|
||||
background-color: #FBEFE7;
|
||||
padding: 0 25rpx;
|
||||
padding: 0 20rpx;
|
||||
height: 70rpx;
|
||||
.icon
|
||||
{
|
||||
@@ -950,7 +1049,7 @@
|
||||
{
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #F97316;
|
||||
color: #FFF6F0;
|
||||
}
|
||||
.tips
|
||||
{
|
||||
@@ -961,38 +1060,28 @@
|
||||
}
|
||||
.list
|
||||
{
|
||||
padding: 23rpx 0;
|
||||
.item
|
||||
{
|
||||
.eventLineC
|
||||
{
|
||||
padding: 0 43rpx 0 15rpx;
|
||||
padding: 30rpx 34rpx 0 25rpx;
|
||||
.line
|
||||
{
|
||||
background-color: #F0F0F0;
|
||||
width: 1px;
|
||||
height: 100%;
|
||||
width: 1rpx;
|
||||
border-left: dashed 1rpx #F3C368;
|
||||
height: calc(100% - 10rpx);
|
||||
}
|
||||
.pointC
|
||||
.point
|
||||
{
|
||||
background-color: #F9731680;
|
||||
top: 0;
|
||||
left: 5rpx;
|
||||
left: 14rpx;
|
||||
width: 20rpx;
|
||||
height: 20rpx;
|
||||
border-radius: 50%;
|
||||
.point
|
||||
{
|
||||
background-color: #F97316;
|
||||
width: 10rpx;
|
||||
height: 10rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
.eventInfoC
|
||||
{
|
||||
box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.07);
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin-bottom: 20rpx;
|
||||
padding-top: 27rpx;
|
||||
min-width: 0;
|
||||
@@ -1006,19 +1095,19 @@
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 30rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
color: #222;
|
||||
}
|
||||
.correlation
|
||||
{
|
||||
background-color: #F973161A;
|
||||
background-color: #FFF8EB;
|
||||
padding: 0 12rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #F97316;
|
||||
color: #EFB342;
|
||||
}
|
||||
}
|
||||
.content
|
||||
@@ -1055,7 +1144,7 @@
|
||||
}
|
||||
.rateItem.up
|
||||
{
|
||||
background-color: #C00000;
|
||||
background-color: #EC3440;
|
||||
}
|
||||
.rateItem.down
|
||||
{
|
||||
@@ -1070,7 +1159,7 @@
|
||||
padding: 16rpx 30rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: #F97316;
|
||||
color: #070707;
|
||||
.icon
|
||||
{
|
||||
margin-right: 13rpx;
|
||||
@@ -1093,14 +1182,14 @@
|
||||
}
|
||||
.bottomC
|
||||
{
|
||||
background-color: #131313;
|
||||
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;
|
||||
background-color:#424143;
|
||||
margin-right: 20rpx;
|
||||
padding: 0 33rpx;
|
||||
height: 70rpx;
|
||||
@@ -1327,7 +1416,7 @@
|
||||
}
|
||||
.expectScorePopup
|
||||
{
|
||||
background-color: white;
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin-left: calc(100% - 320rpx - 24rpx);
|
||||
width: 320rpx;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
||||
@@ -1391,13 +1480,13 @@
|
||||
}
|
||||
.correlation
|
||||
{
|
||||
background-color: #F973161A;
|
||||
background-color: #F3C368;
|
||||
padding: 0 12rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #F97316;
|
||||
color: #101213;
|
||||
}
|
||||
}
|
||||
.sectorRateC
|
||||
@@ -1452,4 +1541,140 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.vipPopup
|
||||
{
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin: 0 95rpx;
|
||||
padding-bottom: 34rpx;
|
||||
width: 560rpx;
|
||||
border-radius: 10rpx;
|
||||
.topIcon
|
||||
{
|
||||
margin: -60rpx 0 0 calc((100% - 143rpx)/2);
|
||||
width: 143rpx;
|
||||
height: auto;
|
||||
}
|
||||
.popTitle
|
||||
{
|
||||
margin-top: 28rpx;
|
||||
font-size: 40rpx;
|
||||
font-weight: bold;
|
||||
color: #101213;
|
||||
text-align: center;
|
||||
}
|
||||
.popSubtitle
|
||||
{
|
||||
margin-top: 20rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #493F2B;
|
||||
text-align: center;
|
||||
}
|
||||
.moduleC
|
||||
{
|
||||
background-color: white;
|
||||
margin: 0 30rpx 20rpx;
|
||||
padding-top: 25rpx;
|
||||
border-radius: 10rpx;
|
||||
.section
|
||||
{
|
||||
padding: 0 25rpx;
|
||||
font-size: 26rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
.version
|
||||
{
|
||||
margin-left: 18rpx;
|
||||
padding: 0 15rpx;
|
||||
line-height: 32rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
.version.free
|
||||
{
|
||||
background-color: #3D3D3D;
|
||||
color: #FEFCFB;
|
||||
}
|
||||
.version.pro
|
||||
{
|
||||
background-color: #F2C367;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
}
|
||||
.visitC
|
||||
{
|
||||
margin: 18rpx 24rpx 0;
|
||||
height: 60rpx;
|
||||
.line
|
||||
{
|
||||
background-color: #F2C367;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 44rpx;
|
||||
height: 100%;
|
||||
border-radius: 7rpx 0 0 7rpx;
|
||||
}
|
||||
.contentC
|
||||
{
|
||||
background-color: #F7F7F7;
|
||||
margin-left: 6rpx;
|
||||
padding: 0 15rpx;
|
||||
height: 100%;
|
||||
border-radius: 10rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #3D3D3D;
|
||||
.icon
|
||||
{
|
||||
margin-right: 14rpx;
|
||||
width: 25rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
.list
|
||||
{
|
||||
padding-bottom: 10rpx;
|
||||
.item
|
||||
{
|
||||
padding: 10rpx 25rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
.icon
|
||||
{
|
||||
margin-right: 13rpx;
|
||||
width: 27rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.moduleC.visit
|
||||
{
|
||||
margin-top: 20rpx;
|
||||
padding-bottom: 25rpx;
|
||||
}
|
||||
.btnC
|
||||
{
|
||||
margin: 28rpx 92rpx 0;
|
||||
.btn
|
||||
{
|
||||
line-height: 60rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
.btn.later
|
||||
{
|
||||
background-color: #EDEDED;
|
||||
margin-right: 56rpx;
|
||||
}
|
||||
.btn.upgrade
|
||||
{
|
||||
background-color: #F2C367;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,19 +1,19 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar :leftText="navTitle"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<view v-if="type==1" class="tabC fixed" :style="'top:'+navH+'px;'">
|
||||
<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>
|
||||
<navBar :leftText="navTitle" :hideNavBg="true"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="chartDesC relative" :style="'margin-top:'+contentTop+'px;'">
|
||||
<view v-if="type==1" class="tabC" >
|
||||
<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>
|
||||
</view>
|
||||
</view>
|
||||
<view :class="'contentC fixed '+(type==2?'radius':'')" :style="'top:'+contentTop+'px;'">
|
||||
<view v-if="type==1&&tradeData" class="volumeAmountC flex">
|
||||
<text class="volume">成交量:{{tradeData.volume}}</text>
|
||||
<text class="amount">成交金额:{{tradeData.amount}}</text>
|
||||
</view>
|
||||
<view v-if="type==1" style="width:750rpx; height:400rpx">
|
||||
<view v-if="type==1" style="width:700rpx; height:400rpx">
|
||||
<l-echart ref="chartRef"></l-echart>
|
||||
</view>
|
||||
<view class="section">关联描述</view>
|
||||
@@ -21,7 +21,10 @@
|
||||
<view class="riskTips">
|
||||
【风险提示:解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息,团队辛苦编写,未经许可严禁转载。本产品内容内容均不构成投资建议,请投资者注意风险,独立审慎决策。】
|
||||
</view>
|
||||
<view v-if="type==1&&sourceList.length>0" class="section">信息来源</view>
|
||||
</view>
|
||||
|
||||
<view v-if="type==1&&sourceList.length>0" class="infoSourceC">
|
||||
<view class="section">信息来源</view>
|
||||
<view class="list">
|
||||
<view class="item" v-for="(item,index) in sourceList" :key="index">
|
||||
<view class="content">{{item.sentences}}</view>
|
||||
@@ -200,7 +203,7 @@
|
||||
if(e.type==1)
|
||||
{
|
||||
//事件详情
|
||||
this.contentTop = this.navH+(60+8)/750*inject('windowWidth')
|
||||
this.contentTop = this.navH+20/750*inject('windowWidth')
|
||||
this.eventId = e.id
|
||||
this.stockCode = e.code
|
||||
this.getStockDetailsData()
|
||||
@@ -397,6 +400,10 @@
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
page
|
||||
{
|
||||
background-color: #070707;
|
||||
}
|
||||
.topBg
|
||||
{
|
||||
top: 0;
|
||||
@@ -404,54 +411,49 @@
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.tabC
|
||||
.chartDesC
|
||||
{
|
||||
background-color: white;
|
||||
margin-top: 10rpx;
|
||||
left: 0;
|
||||
right: 0;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
.item
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin: 0 25rpx;
|
||||
padding-top: 10rpx;
|
||||
border-radius: 10rpx;
|
||||
.tabC
|
||||
{
|
||||
display: inline-block;
|
||||
padding: 0 30rpx;
|
||||
line-height: 60rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
color: #42485B;
|
||||
}
|
||||
.item.select
|
||||
{
|
||||
font-weight: bold;
|
||||
color: #F97316;
|
||||
.line
|
||||
.item
|
||||
{
|
||||
background-color: #F97316;
|
||||
left: calc((100% - 50rpx)/2);
|
||||
bottom: 0;
|
||||
width: 50rpx;
|
||||
height: 2rpx;
|
||||
display: inline-block;
|
||||
padding: 0 25rpx;
|
||||
line-height: 60rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
color: #42485B;
|
||||
}
|
||||
.item.select
|
||||
{
|
||||
font-weight: bold;
|
||||
color: #F3C368;
|
||||
.line
|
||||
{
|
||||
background-color: #F3C368;
|
||||
left: calc((100% - 50rpx)/2);
|
||||
bottom: 0;
|
||||
width: 50rpx;
|
||||
height: 2rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.contentC
|
||||
{
|
||||
background-color: white;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
overflow-y: scroll;
|
||||
.volumeAmountC {
|
||||
padding: 20rpx;
|
||||
font-size: 26rpx;
|
||||
color: #333;
|
||||
padding: 25rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
.volume {
|
||||
margin-right: 20rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
}
|
||||
.section
|
||||
.section
|
||||
{
|
||||
padding: 0 28rpx;
|
||||
padding: 0 25rpx;
|
||||
line-height: 80rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
@@ -466,24 +468,35 @@
|
||||
color: #666;
|
||||
.ai
|
||||
{
|
||||
color: #C00000;
|
||||
color: #EC3440;
|
||||
}
|
||||
}
|
||||
.riskTips
|
||||
{
|
||||
margin: 20rpx 25rpx 0;
|
||||
padding-bottom: 30rpx;
|
||||
line-height: 1.4rem;
|
||||
font-size: 20rpx;
|
||||
color: #999;
|
||||
border-bottom: solid 1rpx #E4E4E4;
|
||||
line-height: 1.2rem;
|
||||
font-size: 22rpx;
|
||||
color: #A2A2A1;
|
||||
}
|
||||
.list
|
||||
}
|
||||
|
||||
.infoSourceC
|
||||
{
|
||||
.section
|
||||
{
|
||||
padding: 0 25rpx;
|
||||
line-height: 80rpx;
|
||||
font-size: 27rpx;
|
||||
font-weight: bold;
|
||||
color: #F3C368;
|
||||
}
|
||||
.list
|
||||
{
|
||||
padding: 0 25rpx;
|
||||
.item
|
||||
{
|
||||
background-color: #F8F8F8;
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin-bottom: 20rpx;
|
||||
padding: 30rpx 26rpx;
|
||||
border-radius: 10rpx;
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
<template>
|
||||
<view>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<view class="navTitle fixed" :style="'top:'+menuTop+'px;line-height:'+menuH+'px;'">投资</view>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<navBar leftText="投资日历" :hideNavBg="true" :hideBack="true"></navBar>
|
||||
<view class="searchC fixed flex" :style="'top:'+navH+'px;'">
|
||||
<image class="icon" src="/static/icon/home/search.png" mode="widthFix"></image>
|
||||
<input class="flex1" type="text" v-model="keywords" placeholder="搜索话题/股票名称" placeholder-style="color:#94989A"/>
|
||||
<view class="line"></view>
|
||||
<view class="search" @click="clickSearch()">搜索</view>
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/search.png" mode="widthFix"></image>
|
||||
<input class="flex1" type="text" v-model="keywords" placeholder="搜索股票/话题..." placeholder-style="color:#94989A"/>
|
||||
</view>
|
||||
<scroll-view scroll-y class="contentC fixed" :style="'top:'+contentTop+'px;'" refresher-enabled :refresher-triggered="isRefreshing" @refresherrefresh="pullDownRefresh()" @scrolltolower="loadMoreData()">
|
||||
<view>
|
||||
<view class="calendarC">
|
||||
<view class="todayC flex" >
|
||||
<view class="todayDateC flex" @click="clickSelectMonth()">
|
||||
<view class="date">{{selectDate}}</view>
|
||||
@@ -22,44 +20,60 @@
|
||||
<view class="item flex1" v-for="(item,index) in weekList" :key="index">{{item}}</view>
|
||||
</view>
|
||||
<view v-if="isExpand" class="monthDateList flexWrap">
|
||||
<view class="item flexColumnCenter" v-for="(item,index) in monthDateList" :key="index" @click="clickSelectDate(item)">
|
||||
<block v-if="selectDate!=todayDate">
|
||||
<view v-if="selectDate==item.date" class="date today">{{item.day}}</view>
|
||||
<view v-else :class="'date '+(item.isCurrentMonth?'':' notCurrentMonth')">{{item.day}}</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view :class="'date '+(item.isToday?'today':(item.isCurrentMonth?'':' notCurrentMonth')) ">{{item.day}}</view>
|
||||
</block>
|
||||
<block v-for="(item,index) in monthDateList" :key="index">
|
||||
<block v-if="item.className">
|
||||
<view v-if="item.className=='bg-gradient-danger'" class="eventNum danger">{{item.eventCount}}</view>
|
||||
<view v-if="item.className=='bg-gradient-warning'" class="eventNum warning">{{item.eventCount}}</view>
|
||||
<view v-if="item.className=='bg-gradient-info'" class="eventNum info">{{item.eventCount}}</view>
|
||||
<view v-if="item.className=='bg-gradient-success'" class="eventNum success">{{item.eventCount}}</view>
|
||||
<view v-if="item.className=='bg-gradient-danger'" :class="'item flexColumnCenter danger '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.eventCount}}</view>
|
||||
</view>
|
||||
<view v-if="item.className=='bg-gradient-warning'" :class="'item flexColumnCenter warning '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.eventCount}}</view>
|
||||
</view>
|
||||
<view v-if="item.className=='bg-gradient-info'" :class="'item flexColumnCenter info '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.eventCount}}</view>
|
||||
</view>
|
||||
<view v-if="item.className=='bg-gradient-success'" :class="'item flexColumnCenter success'+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.eventCount}}</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="eventNum"></view>
|
||||
<view class="item flexColumnCenter">
|
||||
<view :class="'date '+(item.isCurrentMonth?'':' notCurrentMonth')">{{item.day}}</view>
|
||||
<view class="eventNum"></view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view v-else class="weekDateList flex">
|
||||
<view class="item flex1 flexColumnCenter" v-for="(item,index) in weekDateList" @click="clickSelectDate(item)" :key="index">
|
||||
<block v-if="selectDate!=todayDate">
|
||||
<view v-if="selectDate==item.date" class="date today">{{item.day}}</view>
|
||||
<view v-else :class="'date '+(item.isCurrentMonth?'':' notCurrentMonth')">{{item.day}}</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view :class="'date '+(item.isToday?'today':(item.isCurrentMonth?'':' notCurrentMonth')) ">{{item.day}}</view>
|
||||
</block>
|
||||
<block v-for="(item,index) in weekDateList" :key="index">
|
||||
<block v-if="item.className">
|
||||
<view v-if="item.className=='bg-gradient-danger'" class="eventNum danger">{{item.eventCount}}</view>
|
||||
<view v-if="item.className=='bg-gradient-warning'" class="eventNum warning">{{item.eventCount}}</view>
|
||||
<view v-if="item.className=='bg-gradient-info'" class="eventNum info">{{item.eventCount}}</view>
|
||||
<view v-if="item.className=='bg-gradient-success'" class="eventNum success">{{item.eventCount}}</view>
|
||||
<view v-if="item.className=='bg-gradient-danger'" :class="'item flex1 flexColumnCenter danger '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.eventCount}}</view>
|
||||
</view>
|
||||
<view v-if="item.className=='bg-gradient-warning'" :class="'item flex1 flexColumnCenter warning '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.eventCount}}</view>
|
||||
</view>
|
||||
<view v-if="item.className=='bg-gradient-info'" :class="'item flex1 flexColumnCenter info '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.eventCount}}</view>
|
||||
</view>
|
||||
<view v-if="item.className=='bg-gradient-success'" :class="'item flex1 flexColumnCenter success '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.eventCount}}</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="eventNum"></view>
|
||||
<view class="item flex1 flexColumnCenter" @click="clickSelectDate(item)">
|
||||
<view class="date">{{item.day}}</view>
|
||||
<view class="eventNum">{{item.className?item.eventCount:''}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="expandBgC flexCenter">
|
||||
<view class="expandC flex" @click="clickExpandOrRetract()">
|
||||
@@ -80,30 +94,32 @@
|
||||
</scroll-view>
|
||||
<view v-if="selectTab==0" class="eventList">
|
||||
<view class="item" v-for="(item,index) in eventList" :key="index" @click="clickEventItem(item.id)">
|
||||
<view class="flex">
|
||||
<view class="time flex1">{{getLocaleHourMinute(item.start_time)}}</view>
|
||||
<view class="timeStarFollowC flex">
|
||||
<view class="time">{{getLocaleHourMinute(item.start_time)}}</view>
|
||||
<view class="starC">
|
||||
<view class="starList flex" >
|
||||
<image class="icon" :src="(sindex<(item.category.star_rating)?'/static/icon/invest/star_s.png':'/static/icon/invest/star.png')" mode="widthFix" v-for="(sitem,sindex) in 5" :key="index"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex1"></view>
|
||||
<!-- <view class="follow">+关注</view> -->
|
||||
</view>
|
||||
<view class="categoryTitleC flex">
|
||||
<view class="category">{{item.category.event_type}}</view>
|
||||
<view class="title flex1">{{item.title}}</view>
|
||||
</view>
|
||||
<scroll-view scroll-x class="labelC">
|
||||
<!-- <scroll-view scroll-x class="labelC">
|
||||
<view class="label" v-for="(titem,tindex) in item.tags" :key="tindex">
|
||||
{{titem}}
|
||||
</view>
|
||||
</scroll-view>
|
||||
</scroll-view> -->
|
||||
<view class="content">
|
||||
<ua-markdown :source="replaceAnswerLabel(item.description)" />
|
||||
</view>
|
||||
<scroll-view v-if="item.related_concepts" scroll-x class="percentList">
|
||||
<view class="percentItem" v-for="(citem,cindex) in item.related_concepts" :key="cindex">
|
||||
{{citem.name}}
|
||||
<zui-progress-circle :position="citem.score" :range="[270,630]" :size="26" :ring-width="2" :texture="['#F97316','#E3E3E3']">
|
||||
<zui-progress-circle :position="citem.score" :range="[270,630]" :size="26" :ring-width="2" :texture="['#F3C368','#E3E3E3']">
|
||||
<view class="num">{{citem.score*100}}%</view>
|
||||
</zui-progress-circle>
|
||||
</view>
|
||||
@@ -566,6 +582,10 @@
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
page
|
||||
{
|
||||
background-color: #070707;
|
||||
}
|
||||
.topBg
|
||||
{
|
||||
top: 0;
|
||||
@@ -573,24 +593,17 @@
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.navTitle
|
||||
{
|
||||
left: 0;
|
||||
margin: 0 23rpx;
|
||||
font-size: 36rpx;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
}
|
||||
.searchC
|
||||
{
|
||||
background-color: white;
|
||||
background-color: #292929B3;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: 20rpx 25rpx 0;
|
||||
padding: 0 20rpx;
|
||||
height: 75rpx;
|
||||
border-radius: 20rpx;
|
||||
font-size: 26rpx;
|
||||
padding: 0 25rpx;
|
||||
height: 70rpx;
|
||||
border: solid 1rpx #363636;
|
||||
border-radius: 35rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
.icon
|
||||
{
|
||||
@@ -616,191 +629,248 @@
|
||||
}
|
||||
.contentC
|
||||
{
|
||||
background-color: white;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: calc(55px + env(safe-area-inset-bottom));
|
||||
margin-top: 22rpx;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
margin-top: 20rpx;
|
||||
overflow-y: scroll;
|
||||
.todayC
|
||||
.calendarC
|
||||
{
|
||||
padding: 12rpx 26rpx;
|
||||
.todayDateC
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin: 0 25rpx;
|
||||
border-radius: 20rpx;
|
||||
.todayC
|
||||
{
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #222;
|
||||
.icon
|
||||
padding: 12rpx 26rpx;
|
||||
.todayDateC
|
||||
{
|
||||
margin-left: 16rpx;
|
||||
width: 30rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
.today
|
||||
{
|
||||
background-color: #F973161A;
|
||||
width: 40rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 50%;
|
||||
font-size: 26rpx;
|
||||
font-weight: 500;
|
||||
color: #F97316;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.weekList
|
||||
{
|
||||
.item
|
||||
{
|
||||
line-height: 40rpx;
|
||||
font-size: 24rpx;
|
||||
color: #292621;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.weekDateList
|
||||
{
|
||||
.item
|
||||
{
|
||||
padding-top: 14rpx;
|
||||
.date
|
||||
{
|
||||
width: 40rpx;
|
||||
line-height: 40rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.date.today
|
||||
{
|
||||
background-color: #F9731626;
|
||||
border-radius: 5rpx;
|
||||
color: #F97316;
|
||||
}
|
||||
.eventNum
|
||||
{
|
||||
// background-color: #EB4A46;
|
||||
margin-top: 12rpx;
|
||||
width: 80rpx;
|
||||
height: 30rpx;
|
||||
line-height: 30rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 16rpx;
|
||||
font-weight: 500;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
.eventNum.danger
|
||||
{
|
||||
background-color: #EB4A46;
|
||||
}
|
||||
.eventNum.warning
|
||||
{
|
||||
background-color: #FD9C16;
|
||||
}
|
||||
.eventNum.info
|
||||
{
|
||||
background-color: #16BBCF;
|
||||
}
|
||||
.eventNum.success
|
||||
{
|
||||
background-color: #55AE59;
|
||||
}
|
||||
}
|
||||
}
|
||||
.monthDateList
|
||||
{
|
||||
.item
|
||||
{
|
||||
padding-top: 14rpx;
|
||||
width: calc(100%/7);
|
||||
.date
|
||||
{
|
||||
width: 40rpx;
|
||||
line-height: 40rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #CCCDD1;
|
||||
.icon
|
||||
{
|
||||
margin-left: 16rpx;
|
||||
width: 30rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
.today
|
||||
{
|
||||
background-color: #F3C368;
|
||||
width: 40rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 50%;
|
||||
font-size: 26rpx;
|
||||
font-weight: 500;
|
||||
color: #070707;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.weekList
|
||||
{
|
||||
.item
|
||||
{
|
||||
line-height: 40rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #292621;
|
||||
text-align: center;
|
||||
}
|
||||
.date.today
|
||||
}
|
||||
.weekDateList
|
||||
{
|
||||
margin-top: 6rpx;
|
||||
padding: 0 20rpx;
|
||||
.item
|
||||
{
|
||||
background-color: #F9731626;
|
||||
margin-right: 16rpx;
|
||||
padding: 10rpx 0 6rpx;
|
||||
border-radius: 5rpx;
|
||||
color: #F97316;
|
||||
.date
|
||||
{
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: #2A2A2A;
|
||||
}
|
||||
.eventNum
|
||||
{
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
margin-top: 2rpx;
|
||||
font-size: 18rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.date.notCurrentMonth
|
||||
.item:nth-child(7n)
|
||||
{
|
||||
color: #999;
|
||||
margin-right: 0;
|
||||
}
|
||||
.eventNum
|
||||
.item.select
|
||||
{
|
||||
margin-top: 12rpx;
|
||||
width: 80rpx;
|
||||
height: 30rpx;
|
||||
line-height: 30rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 16rpx;
|
||||
font-weight: 500;
|
||||
color: white;
|
||||
text-align: center;
|
||||
.date
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
.eventNum.danger
|
||||
.item.danger
|
||||
{
|
||||
background-color: #EB4A461A;
|
||||
color: #EB4A46;
|
||||
}
|
||||
.item.select.danger
|
||||
{
|
||||
background-color: #EB4A46;
|
||||
color: white;
|
||||
}
|
||||
.eventNum.warning
|
||||
.item.warning
|
||||
{
|
||||
background-color: #FD9C16;
|
||||
background-color: #FD9A141A;
|
||||
color: #FD9A14;
|
||||
}
|
||||
.eventNum.info
|
||||
.item.select.warning
|
||||
{
|
||||
background-color: #FD9A14;
|
||||
color: white;
|
||||
}
|
||||
.item.info
|
||||
{
|
||||
background-color: #16BBCF1A;
|
||||
color: #16BBCF;
|
||||
}
|
||||
.item.select.info
|
||||
{
|
||||
background-color: #16BBCF;
|
||||
color: white;
|
||||
}
|
||||
.eventNum.success
|
||||
.item.success
|
||||
{
|
||||
background-color: #55AE591A;
|
||||
color: #55AE59;
|
||||
}
|
||||
.item.select.success
|
||||
{
|
||||
background-color: #55AE59;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
.expandBgC
|
||||
{
|
||||
margin: 0 25rpx;
|
||||
border-bottom: solid 1rpx #E4E4E4;
|
||||
.expandC
|
||||
.monthDateList
|
||||
{
|
||||
padding: 20rpx 0;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #8A857C;
|
||||
.arrow
|
||||
margin-top: 6rpx;
|
||||
padding: 0 20rpx;
|
||||
.item
|
||||
{
|
||||
margin-left: 7rpx;
|
||||
width: 15rpx;
|
||||
height: auto;
|
||||
margin: 0 16rpx 20rpx 0;
|
||||
padding: 10rpx 0 6rpx;
|
||||
width: calc((100% - 96rpx)/7);
|
||||
border-radius: 5rpx;
|
||||
.date
|
||||
{
|
||||
font-size: 26rpx;
|
||||
font-weight: bold;
|
||||
color: #2A2A2A;
|
||||
}
|
||||
.date.notCurrentMonth
|
||||
{
|
||||
color: #999;
|
||||
}
|
||||
.eventNum
|
||||
{
|
||||
margin-top: 2rpx;
|
||||
font-size: 18rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.item:nth-child(7n)
|
||||
{
|
||||
margin-right: 0;
|
||||
}
|
||||
.item.select
|
||||
{
|
||||
.date
|
||||
{
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
.item.danger
|
||||
{
|
||||
background-color: #EB4A461A;
|
||||
color: #EB4A46;
|
||||
}
|
||||
.item.select.danger
|
||||
{
|
||||
background-color: #EB4A46;
|
||||
color: white;
|
||||
}
|
||||
.item.warning
|
||||
{
|
||||
background-color: #FD9A141A;
|
||||
color: #FD9A14;
|
||||
}
|
||||
.item.select.warning
|
||||
{
|
||||
background-color: #FD9A14;
|
||||
color: white;
|
||||
}
|
||||
.item.info
|
||||
{
|
||||
background-color: #16BBCF1A;
|
||||
color: #16BBCF;
|
||||
}
|
||||
.item.select.info
|
||||
{
|
||||
background-color: #16BBCF;
|
||||
color: white;
|
||||
}
|
||||
.item.success
|
||||
{
|
||||
background-color: #55AE591A;
|
||||
color: #55AE59;
|
||||
}
|
||||
.item.select.success
|
||||
{
|
||||
background-color: #55AE59;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
.expandBgC
|
||||
{
|
||||
margin: 0 25rpx;
|
||||
border-bottom: solid 1rpx #E4E4E4;
|
||||
.expandC
|
||||
{
|
||||
padding: 20rpx 0;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #8A857C;
|
||||
.arrow
|
||||
{
|
||||
margin-left: 7rpx;
|
||||
width: 15rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.tabC
|
||||
{
|
||||
margin-top: 10rpx;
|
||||
.item
|
||||
{
|
||||
display: inline-block;
|
||||
padding: 0 24rpx;
|
||||
padding: 0 27rpx;
|
||||
line-height: 70rpx;
|
||||
font-size: 32rpx;
|
||||
color: #42485B;
|
||||
color: #CCCDD1;
|
||||
}
|
||||
.item.select
|
||||
{
|
||||
color: #F97316;
|
||||
color: #F3C368;
|
||||
}
|
||||
}
|
||||
.topCategoryC
|
||||
{
|
||||
white-space: nowrap;
|
||||
border-bottom: solid 1rpx #E4E4E4;
|
||||
.item
|
||||
{
|
||||
display: inline-block;
|
||||
@@ -808,15 +878,15 @@
|
||||
padding: 0 28rpx;
|
||||
font-size: 27rpx;
|
||||
font-weight: 500;
|
||||
color: #42485B;
|
||||
color: #939393;
|
||||
}
|
||||
.item.select
|
||||
{
|
||||
font-weight: bold;
|
||||
color: black;
|
||||
color: #F3C368;
|
||||
.line
|
||||
{
|
||||
background-color: #F97316;
|
||||
background-color: #F3C368;
|
||||
left: calc((100% - 50rpx)/2);
|
||||
width: 50rpx;
|
||||
height: 2rpx;
|
||||
@@ -827,29 +897,51 @@
|
||||
}
|
||||
.eventList
|
||||
{
|
||||
padding: 0 25rpx;
|
||||
padding: 18rpx 25rpx;
|
||||
.item
|
||||
{
|
||||
padding: 30rpx 0;
|
||||
border-bottom: solid 1rpx #E4E4E4;
|
||||
.time
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin-bottom: 20rpx;
|
||||
padding: 30rpx 20rpx;
|
||||
border-radius: 10rpx;
|
||||
.timeStarFollowC
|
||||
{
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: #767676;
|
||||
}
|
||||
.starC
|
||||
{
|
||||
.starList
|
||||
.time
|
||||
{
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin-right: 22rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: #767676;
|
||||
}
|
||||
.icon
|
||||
.starC
|
||||
{
|
||||
margin-right: 9rpx;
|
||||
width: 27rpx;
|
||||
height: auto;
|
||||
.starList
|
||||
{
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
.icon
|
||||
{
|
||||
margin-right: 9rpx;
|
||||
width: 27rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
.follow
|
||||
{
|
||||
background-color: #3D3D3D;
|
||||
width: 90rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 20rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #F2C367;
|
||||
text-align: center;
|
||||
}
|
||||
.follow.select
|
||||
{
|
||||
background-color: #F3C368;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
}
|
||||
.categoryTitleC
|
||||
@@ -857,23 +949,23 @@
|
||||
margin-top: 18rpx;
|
||||
.category
|
||||
{
|
||||
background-color: #FD9A14;
|
||||
margin-right: 10rpx;
|
||||
background-color: #F3C368;
|
||||
margin-right: 12rpx;
|
||||
padding: 0 12rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 8rpx;
|
||||
font-size: 22rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
color: #070707;
|
||||
}
|
||||
.title
|
||||
{
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 30rpx;
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
color: #222;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
}
|
||||
.labelC
|
||||
@@ -901,18 +993,18 @@
|
||||
overflow: hidden;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #666;
|
||||
|
||||
color: #71675D;
|
||||
}
|
||||
.percentList
|
||||
{
|
||||
white-space: nowrap;
|
||||
margin-top: 20rpx;
|
||||
margin-top: 26rpx;
|
||||
.percentItem
|
||||
{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
background-color: #F8F8F8;
|
||||
background-color: white;
|
||||
box-shadow: 0 7rpx 18rpx 0 rgba(217,217,217,0.28);
|
||||
margin-right: 20rpx;
|
||||
padding: 0 20rpx;
|
||||
height: 70rpx;
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="详情"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<navBar leftText="事件详情" :hideNavBg="true"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="categoryC fixed" :style="'top:'+navH+'px;'">
|
||||
<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>
|
||||
</view>
|
||||
<view v-if="investDetails" class="contentC fixed" :style="'top:'+contentTop+'px;'">
|
||||
@@ -37,14 +36,31 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="selectCategory==4">
|
||||
<view v-if="selectCategory==3">
|
||||
<view class="conceptList">
|
||||
<view class="item relative" v-for="(item,index) in investDetails.extracted_concepts" :key="index" @click="clickConceptItem()">
|
||||
<image class="cover" :src="item.first_image" mode="aspectFill"></image>
|
||||
<view class="infoC absolute">
|
||||
<view class="title">{{item.name}}</view>
|
||||
<view class="content relative">{{item.reason}}
|
||||
<text class="lookDetails absolute">查看详情</text>
|
||||
<view class="item" v-for="(item,index) in conceptList" :key="index">
|
||||
<view class="titleChgStockNumC flex">
|
||||
<view class="title">{{item.concept}}</view>
|
||||
<view v-if="item.price_info" :class="'chg '+(getRateUpOrDown(item.price_info.avg_change_pct)?'down':'up')">{{getChgRateStr(item.price_info.avg_change_pct)}}%</view>
|
||||
<view v-if="item.price_info" :class="'stockNum '+(getRateUpOrDown(item.price_info.avg_change_pct)?'down':'up')">{{item.stock_count}} 只股票</view>
|
||||
</view>
|
||||
<view class="content">{{item.description}}</view>
|
||||
<view class="hotStockC flex">
|
||||
<view class="title">热门个股</view>
|
||||
<view class="stockList flex">
|
||||
<view class="stockItem" v-for="(sitem,sindex) in item.stocks.slice(0,3)" :key="sindex">{{sitem.stock_name}}</view>
|
||||
<view class="more" @click="clickStockMore(item)">+{{item.stock_count-3}}更多</view>
|
||||
</view>
|
||||
<!-- <view class="notVipC flex" @click="clickNotVip()">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/lock.png" mode="widthFix"></image>
|
||||
<view>需升级Pro会员查看{{item.stock_count}}只个股</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="transactionDateHistoryTimeC flex">
|
||||
<view class="transactionDate flex1">交易时间:{{item.price_info?item.price_info.trade_date:''}}</view>
|
||||
<view class="historyTimeC flex" @click="clickHistoricalTimeline(item)">
|
||||
<image class="icon" src="/static/icon/home/conceptCenter/timeAxis.png" mode="widthFix"></image>
|
||||
<view>历史时间轴</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -73,13 +89,13 @@
|
||||
{
|
||||
title:'全部股票',
|
||||
num:0,
|
||||
bgColor:'#C00000',
|
||||
bgColor:'#D82A2A',
|
||||
color:'white'
|
||||
},
|
||||
{
|
||||
title:'大周期',
|
||||
num:0,
|
||||
bgColor:'#305496',
|
||||
bgColor:'#3A5D9C',
|
||||
color:'white'
|
||||
},
|
||||
{
|
||||
@@ -163,6 +179,10 @@
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
page
|
||||
{
|
||||
background-color: #070707;
|
||||
}
|
||||
.topBg
|
||||
{
|
||||
top: 0;
|
||||
@@ -172,9 +192,8 @@
|
||||
}
|
||||
.categoryC
|
||||
{
|
||||
background-color: white;
|
||||
margin-top: 10rpx;
|
||||
padding-top: 20rpx;
|
||||
padding: 20rpx 10rpx 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
@@ -182,33 +201,25 @@
|
||||
{
|
||||
display: inline-block;
|
||||
padding: 0 30rpx;
|
||||
line-height: 75rpx;
|
||||
font-size: 32rpx;
|
||||
line-height: 76rpx;
|
||||
font-size: 27rpx;
|
||||
font-weight: 500;
|
||||
color: #42485B;
|
||||
color: #939393;
|
||||
}
|
||||
.item.select
|
||||
{
|
||||
font-weight: bold;
|
||||
color: #F97316;
|
||||
.line
|
||||
{
|
||||
background-color: #F97316;
|
||||
left: calc((100% - 50rpx)/2);
|
||||
bottom: 0;
|
||||
width: 50rpx;
|
||||
height: 2rpx;
|
||||
}
|
||||
color: #F3C368;
|
||||
}
|
||||
}
|
||||
.contentC
|
||||
{
|
||||
background-color: white;
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
// margin-top: 10rpx;
|
||||
// border-radius: 20rpx 20rpx 0 0;
|
||||
bottom: env(safe-area-inset-bottom);
|
||||
margin: 0 25rpx;
|
||||
border-radius: 10rpx;
|
||||
overflow-y: scroll;
|
||||
.former
|
||||
{
|
||||
@@ -221,12 +232,12 @@
|
||||
}
|
||||
.stockCategoryList
|
||||
{
|
||||
margin-top: 18rpx;
|
||||
padding: 0 24rpx;
|
||||
margin-top: 30rpx;
|
||||
padding: 0 20rpx;
|
||||
.item
|
||||
{
|
||||
margin: 0 20rpx 20rpx 0;
|
||||
width: calc((100% - 40rpx)/3);
|
||||
margin: 0 30rpx 20rpx 0;
|
||||
width: calc((100% - 60rpx)/3);
|
||||
height: 100rpx;
|
||||
border-radius: 10rpx;
|
||||
.num
|
||||
@@ -292,44 +303,139 @@
|
||||
.conceptList
|
||||
{
|
||||
padding: 30rpx 25rpx;
|
||||
.item
|
||||
.item
|
||||
{
|
||||
margin-bottom: 20rpx;
|
||||
.cover
|
||||
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
|
||||
margin-bottom: 24rpx;
|
||||
border-radius: 10rpx;
|
||||
.titleChgStockNumC
|
||||
{
|
||||
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;
|
||||
padding: 24rpx 18rpx 0;
|
||||
.title
|
||||
{
|
||||
font-size: 26rpx;
|
||||
margin-right: 20rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
color: #3D3D3D;
|
||||
}
|
||||
.chg
|
||||
{
|
||||
margin-right: 20rpx;
|
||||
padding: 0 13rpx;
|
||||
line-height: 40rpx;
|
||||
border-radius: 20rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
}
|
||||
.chg.up
|
||||
{
|
||||
background-color: #EC3440;
|
||||
}
|
||||
.chg.down
|
||||
{
|
||||
background-color: #355422;
|
||||
}
|
||||
.stockNum
|
||||
{
|
||||
padding: 0 16rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 20rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
.content
|
||||
.stockNum.up
|
||||
{
|
||||
color: #EC3440;
|
||||
border: solid 2rpx #EC3440;
|
||||
}
|
||||
.stockNum.down
|
||||
{
|
||||
color: #355422;
|
||||
border: solid 2rpx #355422;
|
||||
}
|
||||
}
|
||||
.content
|
||||
{
|
||||
margin-top: 26rpx;
|
||||
padding: 0 22rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #71675D;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.hotStockC
|
||||
{
|
||||
margin-top: 30rpx;
|
||||
padding: 0 20rpx;
|
||||
.title
|
||||
{
|
||||
margin-right: 10rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: #936E5C;
|
||||
}
|
||||
.stockList
|
||||
{
|
||||
font-size: 22rpx;
|
||||
.stockItem
|
||||
{
|
||||
background-color: #3D3D3D;
|
||||
margin-right: 10rpx;
|
||||
padding: 0 8rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 5rpx 20rpx 5rpx 20rpx;
|
||||
color: #EFDDD1;
|
||||
}
|
||||
.more
|
||||
{
|
||||
color: #936E5C;
|
||||
line-height: 36rpx;
|
||||
}
|
||||
}
|
||||
.notVipC
|
||||
{
|
||||
background-color: #3D3D3D;
|
||||
padding: 0 21rpx 0 16rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 5rpx;
|
||||
font-size: 22rpx;
|
||||
color: #F3C368;
|
||||
.icon
|
||||
{
|
||||
margin-right: 9rpx;
|
||||
width: 15rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
.transactionDateHistoryTimeC
|
||||
{
|
||||
padding: 20rpx 22rpx 30rpx;
|
||||
.transactionDate
|
||||
{
|
||||
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
|
||||
color: #666;
|
||||
}
|
||||
.historyTimeC
|
||||
{
|
||||
background-color: #F3C368;
|
||||
padding: 0 10rpx 0 15rpx;
|
||||
line-height: 36rpx;
|
||||
border-radius: 10rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #101213;
|
||||
.icon
|
||||
{
|
||||
right: 0;
|
||||
color: #F97316;
|
||||
margin-right: 7rpx;
|
||||
width: 20rpx;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
<navBar leftText="登录" :hideNavBg="true" :backBlack="true"></navBar>
|
||||
<image class="logo" :style="'margin-top:'+contentTop+'px;'" src="/static/image/login/logo.png" mode="widthFix"></image>
|
||||
<view class="loginTitle">欢迎登录价值前沿平台</view>
|
||||
<view class="btn oneClickLogin" @click="clickOneClickLogin()">授权手机号一键登录</view>
|
||||
<view class="btn oneClickLogin relative" @click="isBindPhone?clickOneClickLogin():''">
|
||||
授权手机号一键登录
|
||||
<button v-if="!isBindPhone" class="absolute" open-type="getPhoneNumber" @getphonenumber="getPhoneNumData"></button>
|
||||
</view>
|
||||
<view class="btn codeLogin" @click="clickCodeLogin()">使用短信验证登录</view>
|
||||
<view class="agreeProtocolC fixed flexCenter">
|
||||
<view class="agreeC" @click="clickAgree()">
|
||||
@@ -17,19 +20,73 @@
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue';
|
||||
import { loginByWx } from '@/request/api';
|
||||
import { loginByWx, wxBindPhone } from '@/request/api';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
contentTop:'',
|
||||
isAgree:false
|
||||
isAgree:false,
|
||||
isBindPhone:true, //是否绑定过手机号
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.contentTop = inject('navHeight')+230/750*inject('windowWidth')
|
||||
this.getIsBindPhoneData()
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 获取手机号
|
||||
* @param {Object} e
|
||||
*/
|
||||
getPhoneNumData(e)
|
||||
{
|
||||
console.log(e)
|
||||
if (e.detail.errMsg == 'getPhoneNumber:ok') {
|
||||
uni.login({
|
||||
provider:'weixin',
|
||||
success(res) {
|
||||
console.log(res.code)
|
||||
let param = {code:res.code,isJson:1}
|
||||
loginByWx(param).then(res=>{
|
||||
if(res.code==200)
|
||||
{
|
||||
let token = res.data.token
|
||||
uni.setStorageSync('token',token)
|
||||
let param = {code:e.detail.code}
|
||||
wxBindPhone(param).then(res=>{
|
||||
if (res.code==200) {
|
||||
uni.showToast({
|
||||
title:res.message,
|
||||
})
|
||||
setTimeout(function() {
|
||||
uni.switchTab({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
}, 1000);
|
||||
}else
|
||||
uni.showToast({
|
||||
title:res.message,
|
||||
icon:'none'
|
||||
})
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
}else
|
||||
uni.showToast({
|
||||
title:res.message,
|
||||
icon:"none"
|
||||
})
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
},
|
||||
fail() {
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 点击一键登录
|
||||
*/
|
||||
@@ -51,10 +108,8 @@
|
||||
loginByWx(param).then(res=>{
|
||||
if(res.code==200)
|
||||
{
|
||||
uni.showToast({
|
||||
title:res.message,
|
||||
})
|
||||
uni.setStorageSync('token',res.data.token)
|
||||
let token = res.data.token
|
||||
uni.setStorageSync('token',token)
|
||||
setTimeout(function() {
|
||||
uni.switchTab({
|
||||
url:'/pages/index/index'
|
||||
@@ -73,7 +128,6 @@
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
/**
|
||||
* 点击验证码登录
|
||||
@@ -99,6 +153,35 @@
|
||||
uni.navigateTo({
|
||||
url:'/pages/mine/web/web?type='+type
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取是否绑定过手机号
|
||||
*/
|
||||
getIsBindPhoneData()
|
||||
{
|
||||
let that = this
|
||||
uni.login({
|
||||
provider:'weixin',
|
||||
success(res) {
|
||||
console.log(res.code)
|
||||
let param = {code:res.code,isJson:1}
|
||||
loginByWx(param).then(res=>{
|
||||
if(res.code==200)
|
||||
{
|
||||
that.isBindPhone = res.data.user.phone?true:false
|
||||
}else
|
||||
uni.showToast({
|
||||
title:res.message,
|
||||
icon:"none"
|
||||
})
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
},
|
||||
fail() {
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -132,6 +215,13 @@
|
||||
background-color: #F97316;
|
||||
margin-top: 60rpx;
|
||||
color: white;
|
||||
button
|
||||
{
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
.btn.codeLogin
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="信息完善"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="avatarC fixed" :style="'top:'+avatarTop+'px;'">
|
||||
<image class="avatar" :src="avatar?avatar:avatarUrl" mode="aspectFill"></image>
|
||||
<image class="icon absolute" src="/static/icon/mine/basicInfo/edit.png" mode="widthFix"></image>
|
||||
@@ -14,7 +14,10 @@
|
||||
<input type="nickname" v-model="nickname" />
|
||||
</view>
|
||||
<view class="section">手机号</view>
|
||||
<view class="selectC flex">{{mobile}}</view>
|
||||
<view class="selectC flex relative">
|
||||
{{mobile}}
|
||||
<button class="absolute" open-type="getPhoneNumber" @getphonenumber="getPhoneNumData"></button>
|
||||
</view>
|
||||
<view class="section">性别</view>
|
||||
<picker mode="selector" :range="sexList" @change="sexChange">
|
||||
<view class="selectC flex">
|
||||
@@ -33,7 +36,7 @@
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue';
|
||||
import { updateBasicInfo, userInfo } from '@/request/api';
|
||||
import { updateBasicInfo, userInfo, wxBindPhone } from '@/request/api';
|
||||
import { uploadImg } from '@/utils/util';
|
||||
|
||||
export default {
|
||||
@@ -75,6 +78,31 @@
|
||||
let value = e.detail.value
|
||||
this.sex = this.sexList[value]
|
||||
},
|
||||
/**
|
||||
* 获取手机号
|
||||
* @param {Object} e
|
||||
*/
|
||||
getPhoneNumData(e)
|
||||
{
|
||||
console.log(e)
|
||||
if (e.detail.errMsg == 'getPhoneNumber:ok') {
|
||||
let param = {code:e.detail.code}
|
||||
wxBindPhone(param).then(res=>{
|
||||
if (res.code==200) {
|
||||
uni.showToast({
|
||||
title:res.message,
|
||||
})
|
||||
this.mobile = res.data.phone
|
||||
}else
|
||||
uni.showToast({
|
||||
title:res.message,
|
||||
icon:'none'
|
||||
})
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 点击下一步
|
||||
*/
|
||||
@@ -253,6 +281,13 @@
|
||||
width: 16rpx;
|
||||
height: auto;
|
||||
}
|
||||
button
|
||||
{
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
.textareaC
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="评论回复"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="tabC fixed flex" :style="'top:'+navH+'px;'">
|
||||
<view :class="'item flex1 relative '+(selectTab==index?'select':'')" v-for="(item,index) in tabList" :key="index" @click="clickTabItem(index)">
|
||||
{{item}}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="意见反馈"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="feedbackC fixed" :style="'top:'+navH+'px;'">
|
||||
<view class="textareaC">
|
||||
<textarea v-model="content" placeholder="请输入您要反馈的问题(200 字以内)" placeholder-style="color:#C5C5C5" maxlength="200"></textarea>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="关注收藏"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="list fixed" :style="'top:'+navH+'px;'">
|
||||
<view class="item" @click="clickEventItem(item.event_id)" v-for="(item,index) in followList" :key="index">
|
||||
<view class="flex">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="信息完善"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="avatarC fixed" :style="'top:'+avatarTop+'px;'">
|
||||
<image class="avatar" :src="avatar?avatar:avatarUrl" mode="aspectFill"></image>
|
||||
<image class="icon absolute" src="/static/icon/mine/basicInfo/edit.png" mode="widthFix"></image>
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
<template>
|
||||
<view>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="navTitle fixed" :style="'top:'+menuTop+'px;line-height:'+menuH+'px;'">个人中心</view>
|
||||
<view v-if="userInfo" class="personalInfoC relative flex" :style="'margin-top:'+infoTop+'px;'" @click="clickPersonalInfo()">
|
||||
<image class="avatar" :src="userInfo.basic_info.avatar_url" mode="aspectFill"></image>
|
||||
<view class="flex1">
|
||||
<view class="nickname">{{userInfo.basic_info.username}}</view>
|
||||
<view class="mobile">手机号:{{userInfo.basic_info.phone}}</view>
|
||||
<view v-if="memberInfo&&memberInfo.is_member" class="mobile">{{memberInfo.subscription_type}}会员</view>
|
||||
</view>
|
||||
<image class="arrow" src="/static/icon/mine/infoArrow.png" mode="widthFix"></image>
|
||||
</view>
|
||||
@@ -47,7 +48,7 @@
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue';
|
||||
import { userInfo } from '@/request/api';
|
||||
import { userInfo, membershipStatus } from '@/request/api';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
@@ -55,7 +56,8 @@
|
||||
menuTop:inject('menuTop'),
|
||||
menuH: inject('menuHeight'),
|
||||
infoTop:'',
|
||||
userInfo:null,
|
||||
userInfo:null, //用户信息
|
||||
memberInfo:null, //会员信息
|
||||
menuList:[{
|
||||
icon:'/static/icon/mine/aboutUs.png',
|
||||
title:'关于我们',
|
||||
@@ -91,6 +93,7 @@
|
||||
},
|
||||
onShow() {
|
||||
this.getUserInfoData()
|
||||
this.getMemberStatus()
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
@@ -135,6 +138,11 @@
|
||||
url:'/pages/mine/myLike/myLike'
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 点击菜单
|
||||
* @param {Object} url
|
||||
* @param {Object} index
|
||||
*/
|
||||
clickMenuItem(url,index)
|
||||
{
|
||||
if(url)
|
||||
@@ -179,12 +187,33 @@
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 获取会员状态
|
||||
*/
|
||||
getMemberStatus()
|
||||
{
|
||||
membershipStatus().then(res=>{
|
||||
if (res.code==200) {
|
||||
this.memberInfo = res.data
|
||||
} else
|
||||
uni.showToast({
|
||||
title:res.message,
|
||||
icon:'none'
|
||||
})
|
||||
}).catch(error=>{
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
page
|
||||
{
|
||||
background-color: black;
|
||||
}
|
||||
.topBg
|
||||
{
|
||||
top: 0;
|
||||
@@ -222,7 +251,7 @@
|
||||
margin-top: 6rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #FFECD3;
|
||||
color: #F3C368;
|
||||
}
|
||||
.arrow
|
||||
{
|
||||
@@ -251,7 +280,7 @@
|
||||
}
|
||||
.vipC
|
||||
{
|
||||
padding: 0 25rpx;
|
||||
margin: 0 45rpx;
|
||||
.icon
|
||||
{
|
||||
display: block;
|
||||
@@ -262,8 +291,9 @@
|
||||
.menuList
|
||||
{
|
||||
background-color: white;
|
||||
padding: 0 25rpx;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
margin: 0 25rpx;
|
||||
padding: 0 20rpx 220rpx;
|
||||
border-radius: 20rpx;
|
||||
.item
|
||||
{
|
||||
height: 100rpx;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar leftText="我的点赞"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="list fixed" :style="'top:'+navH+'px;'">
|
||||
<view class="item" v-for="(item,index) in myLikeList" :key="index">
|
||||
<image class="avatar" :src="item.author.avatar_url" mode="aspectFill"></image>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view>
|
||||
<navBar :leftText="navTitle"></navBar>
|
||||
<image class="topBg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image>
|
||||
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
|
||||
<view class="contentC fixed" :style="'top:'+navH+'px;'">
|
||||
<text>{{webContent}}</text>
|
||||
</view>
|
||||
|
||||
Reference in New Issue
Block a user