12.12 页面风格改版,增加事件详情相关概念网页跳转,增加绑定手机号功能

This commit is contained in:
尚政杰
2025-12-12 19:35:08 +08:00
parent 44842120da
commit 13c783a0ad
256 changed files with 4046 additions and 2986 deletions

View File

@@ -1,6 +1,6 @@
<template> <template>
<view class="nav flex fixed" :style="navBarStyle"> <view class="nav flex fixed" :style="navBarStyle">
<image v-if="!hideNavBg" class="bg absolute" src="/static/image/mine/myTopBg.png" mode="widthFix"></image> <image v-if="!hideNavBg" class="bg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
<view class="backC relative flex" :style="backTitleStyle" @click="clickBack"> <view class="backC relative flex" :style="backTitleStyle" @click="clickBack">
<image v-if="!hideBack&&!backBlack" class="icon" src="/static/icon/back.png" mode="widthFix"></image> <image v-if="!hideBack&&!backBlack" class="icon" src="/static/icon/back.png" mode="widthFix"></image>
<image v-if="!hideBack&&backBlack" class="icon" src="/static/icon/backBlack.png" mode="widthFix"></image> <image v-if="!hideBack&&backBlack" class="icon" src="/static/icon/backBlack.png" mode="widthFix"></image>

View File

@@ -15,7 +15,7 @@ Component({
data: { data: {
color: "#858C9A", color: "#858C9A",
selected:0, selected:0,
selectedColor: "#F97316", selectedColor: "#F3C368",
list: [ list: [
{ {
"pagePath": "/pages/index/index", "pagePath": "/pages/index/index",
@@ -29,6 +29,12 @@ Component({
"iconPath": "/static/icon/tabbar/invest.png", "iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png" "selectedIconPath": "/static/icon/tabbar/invest_s.png"
}, },
// {
// "pagePath": "/pages/concept/concept",
// "text": "概念中心",
// "iconPath": "/static/icon/tabbar/concept.png",
// "selectedIconPath": "/static/icon/tabbar/concept_s.png"
// },
{ {
"pagePath": "/pages/mine/mine", "pagePath": "/pages/mine/mine",
"text": "个人中心", "text": "个人中心",

View File

@@ -1,7 +1,7 @@
<!--components/custom-tab-bar/index.wxml--> <!--components/custom-tab-bar/index.wxml-->
<view class="tab-bar"> <view class="tab-bar">
<view wx:for="{{list}}" wx:key="index" class="tab-bar-item {{item.bulge?'bulge':''}}" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="{{item.jump=='nav'?'navigateTo':'switchTab'}}"> <view wx:for="{{list}}" wx:key="index" class="tab-bar-item {{item.bulge?'bulge':''}}" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="{{item.jump=='nav'?'navigateTo':'switchTab'}}">
<image class="image" src="{{selected == index ? item.selectedIconPath : item.iconPath}}" mode="aspectFit"></image> <image class="image" src="{{selected == index ? item.selectedIconPath : item.iconPath}}" mode="heightFix"></image>
<view wx:if="{{item.text}}" class="tab-bar-view" <view wx:if="{{item.text}}" class="tab-bar-view"
style="color: {{selected==index?selectedColor:color}};">{{item.text}}</view> style="color: {{selected==index?selectedColor:color}};">{{item.text}}</view>
</view> </view>

View File

@@ -1,6 +1,6 @@
/* components/custom-tab-bar/index.wxss */ /* components/custom-tab-bar/index.wxss */
.tab-bar { .tab-bar {
background-color: white; background-color: black;
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
@@ -9,7 +9,7 @@
display: flex; display: flex;
padding-bottom: env(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);
box-sizing: content-box; box-sizing: content-box;
box-shadow: 0 -1px 5rpx 0 #eee; /* box-shadow: 0 -1px 5rpx 0 #eee; */
z-index: 99; z-index: 99;
} }
.tab-bar-item .tab-bar-item
@@ -22,8 +22,8 @@
} }
.tab-bar-item .image { .tab-bar-item .image {
margin: 16rpx 0 8rpx 0; margin: 16rpx 0 8rpx 0;
width: 40rpx; width: auto;
height: 40rpx; height: 41rpx;
} }
.bulge .bulge
{ {

View File

@@ -15,6 +15,12 @@
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{
"path": "pages/concept/concept",
"style": {
"navigationBarTitleText": ""
}
},
{ {
"path" : "pages/mine/mine", "path" : "pages/mine/mine",
"style" : "style" :
@@ -115,29 +121,23 @@
"navigationBarTitleText" : "" "navigationBarTitleText" : ""
} }
}, },
{
"path": "pages/index/conceptCenter/conceptCenter",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/index/historicalTimeline/historicalTimeline",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/index/hotStock/hotStock",
"style": {
"navigationBarTitleText": ""
}
},
{ {
"path": "pages/index/conceptNewsDetails/conceptNewsDetails", "path": "pages/index/conceptNewsDetails/conceptNewsDetails",
"style": { "style": {
"navigationBarTitleText": "" "navigationBarTitleText": ""
} }
},
{
"path": "pages/concept/historicalTimeline/historicalTimeline",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/concept/hotStock/hotStock",
"style": {
"navigationBarTitleText": ""
}
} }
], ],
"subPackages": [ "subPackages": [

View File

@@ -17,9 +17,7 @@
<view>涨跌幅</view> <view>涨跌幅</view>
<image class="arrow" src="/static/icon/home/conceptCenter/conceptScreenArrow.png" mode="widthFix"></image> <image class="arrow" src="/static/icon/home/conceptCenter/conceptScreenArrow.png" mode="widthFix"></image>
</view> </view>
<view class="line"> <view class="line"></view>
</view>
<view class="transactionDateC flex" @click="clickTransactionDate()"> <view class="transactionDateC flex" @click="clickTransactionDate()">
<image class="icon" src="/static/icon/home/conceptCenter/transactionDate.png" mode="widthFix"></image> <image class="icon" src="/static/icon/home/conceptCenter/transactionDate.png" mode="widthFix"></image>
<view>交易日期</view> <view>交易日期</view>
@@ -38,18 +36,18 @@
<view class="content">{{item.description}}</view> <view class="content">{{item.description}}</view>
<view class="hotStockC flex"> <view class="hotStockC flex">
<view class="title">热门个股</view> <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="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>
<!-- <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> <image class="icon" src="/static/icon/home/conceptCenter/lock.png" mode="widthFix"></image>
<view>需升级Pro会员查看{{item.stock_count}}只个股</view> <view>需升级Pro会员查看{{item.stock_count}}只个股</view>
</view> --> </view>
</view> </view>
<view class="transactionDateHistoryTimeC flex"> <view class="transactionDateHistoryTimeC flex">
<view class="transactionDate flex1">交易时间{{item.price_info?item.price_info.trade_date:''}}</view> <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> <image class="icon" src="/static/icon/home/conceptCenter/timeAxis.png" mode="widthFix"></image>
<view>历史时间轴</view> <view>历史时间轴</view>
</view> </view>
@@ -332,7 +330,8 @@
conceptList:[], conceptList:[],
page:1, page:1,
getRateUpOrDown:getRateUpOrDown, getRateUpOrDown:getRateUpOrDown,
getChgRateStr:getChgRateStr getChgRateStr:getChgRateStr,
memberInfo:null, //
} }
}, },
onLoad() { onLoad() {
@@ -508,13 +507,11 @@
this.selectDateStr = this.selectStartDateStr this.selectDateStr = this.selectStartDateStr
this.selectMonth = this.selectStartMonth this.selectMonth = this.selectStartMonth
this.selectMonthIndex = this.selectStartMonthIndex this.selectMonthIndex = this.selectStartMonthIndex
console.log(this.selectStartMonthIndex,333,this.selectStartDateStr)
} else { } else {
// //
this.selectDateStr = this.selectEndDateStr this.selectDateStr = this.selectEndDateStr
this.selectMonth = this.selectEndMonth this.selectMonth = this.selectEndMonth
this.selectMonthIndex = this.selectEndMonthIndex this.selectMonthIndex = this.selectEndMonthIndex
console.log(this.selectEndMonthIndex,222,this.selectEndDateStr)
} }
this.$refs["transactionDatePopup"].open() this.$refs["transactionDatePopup"].open()
}, },
@@ -533,6 +530,8 @@
}) })
return return
} }
this.startDateStr = this.selectStartDateStr
this.endDateStr = this.endDateStr
this.getRankListData() this.getRankListData()
}, },
/** /**
@@ -747,7 +746,7 @@
clickStockMore(item) clickStockMore(item)
{ {
uni.navigateTo({ 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) clickHistoricalTimeline(item)
{ {
uni.navigateTo({ 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} let param = {query:this.keywords,size:10,page:this.page,sort_by:this.sortType,isJson:1,trade_date:this.selectDateStr}
eventRelatedConcept(param).then(res=>{ eventRelatedConcept(param).then(res=>{
// if(res.code==200)
// {
this.conceptList = res.results this.conceptList = res.results
// }else
// uni.showToast({
// title:res.message,
// icon:'none'
// })
}).catch(error=>{ }).catch(error=>{
}) })
@@ -845,7 +837,7 @@
}).catch(error=>{ }).catch(error=>{
}) })
} },
} }
} }
</script> </script>

View File

@@ -1,8 +1,9 @@
<template> <template>
<view> <view>
<navBar leftText="事件详情"></navBar> <navBar leftText="事件详情" :hideNavBg="true"></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 v-if="eventDetails" class="eventDetailsC fixed" :style="'top:'+navH+'px;'"> <view v-if="eventDetails" class="eventDetailsC fixed" :style="'top:'+navH+'px;'">
<view class="eventIntroC">
<view class="categoryTitleC"> <view class="categoryTitleC">
<view class="category">{{eventDetails.event_type}}</view> <view class="category">{{eventDetails.event_type}}</view>
<text class="title">{{eventDetails.event_title}}</text> <text class="title">{{eventDetails.event_title}}</text>
@@ -12,6 +13,8 @@
<view class="riskTips"> <view class="riskTips">
风险提示解析内容由价值前沿人工采集整理自新闻公告研报等公开信息团队辛苦编写未经许可严禁转载本产品内容内容均不构成投资建议请投资者注意风险独立审慎决策 风险提示解析内容由价值前沿人工采集整理自新闻公告研报等公开信息团队辛苦编写未经许可严禁转载本产品内容内容均不构成投资建议请投资者注意风险独立审慎决策
</view> </view>
</view>
<scroll-view scroll-x class="categoryList"> <scroll-view scroll-x class="categoryList">
<view :class="'item relative '+(selectCategory==index?'select':'')" v-for="(item,index) in categoryList" :key="index" @click="clickCategoryItem(index)"> <view :class="'item relative '+(selectCategory==index?'select':'')" v-for="(item,index) in categoryList" :key="index" @click="clickCategoryItem(index)">
{{item}} {{item}}
@@ -42,33 +45,30 @@
<view class="content">{{item.relation_desc}}<text class="ai">AI合成</text></view> <view class="content">{{item.relation_desc}}<text class="ai">AI合成</text></view>
</view> </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="conceptItem" v-for="(item,index) in conceptList" :key="index" @click="clickConceptItem(item.concept)">
<view class="coverC relative"> <view class="titleChgStockNumC flex">
<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>
<view class="infoC">
<view class="title">{{item.concept}}</view> <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="content">{{item.description}}</view>
<view class="transactionDate">交易日期: {{item.price_info.trade_date}}</view> <view class="hotStockC flex">
<view class="hotStockC"> <view class="title">热门个股</view>
<view class="titleC flex"> <view v-if="memberInfo&&memberInfo.is_member&&memberInfo.subscription_type=='pro'" class="stockList flex">
<text class="flex1">热门个股</text> <view class="stockItem" v-for="(sitem,sindex) in item.stocks.slice(0,3)" :key="sindex">{{sitem.name}}</view>
<image class="arrow" src="/static/icon/home/stockArrow.png" mode="widthFix"></image> <view class="more" @click.stop="clickStockMore(item)">+{{item.stock_count-3}}更多</view>
</view> </view>
<view class="stockList flexWrap"> <view v-else class="notVipC flex" @click.stop="clickNotVip()">
<view class="item" v-for="(item,index) in item.stocks" :key="index">{{item.stock_name}}</view> <image class="icon" src="/static/icon/home/conceptCenter/lock.png" mode="widthFix"></image>
<view>需升级Pro会员查看{{item.stock_count}}只个股</view>
</view> </view>
</view> </view>
<view class="dateHistoryTimeC flex"> <view class="transactionDateHistoryTimeC flex">
<view class="date flex1">{{item.happened_times[0]+(item.happened_times.length>1?('(共'+item.happened_times.length+'次)'):'')}}</view> <view class="transactionDate flex1">交易时间{{item.price_info?item.price_info.trade_date:''}}</view>
<view class="historyTimeC">历史时间轴</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> </view>
</view> </view>
@@ -83,9 +83,7 @@
<view class="item flexStretch" v-for="(item,index) in historyEventList" :key="index"> <view class="item flexStretch" v-for="(item,index) in historyEventList" :key="index">
<view class="eventLineC relative"> <view class="eventLineC relative">
<view class="line"></view> <view class="line"></view>
<view class="pointC absolute flexCenter"> <image class="point absolute" src="/static/icon/home/expectScoreDot.png" mode="widthFix"></image>
<view class="point"></view>
</view>
</view> </view>
<view class="eventInfoC flex1"> <view class="eventInfoC flex1">
<view class="titleCorrelationC flex"> <view class="titleCorrelationC flex">
@@ -234,13 +232,70 @@
</view> </view>
</view> </view>
</uni-popup> </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> </view>
</template> </template>
<script> <script>
import { inject } from 'vue'; import { inject } from 'vue';
import { eventRelatedConcept, eventHistoryEvent, eventRelatedStock, eventCommentList, commentEvent, likeEventComment, replyComment, followEvent } from '@/request/api'; import { eventRelatedConcept, eventHistoryEvent, eventRelatedStock, eventCommentList, commentEvent, likeEventComment, replyComment, followEvent, membershipStatus } from '@/request/api';
import { getLocaleHourMinute, getLocaleTime, getRateStr, getRateUpOrDown } from '@/utils/util'; import { getLocaleHourMinute, getLocaleTime, getRateStr, getRateUpOrDown, getChgRateStr } from '@/utils/util';
const echarts = require('../../../uni_modules/lime-echart/static/echarts.min.js'); const echarts = require('../../../uni_modules/lime-echart/static/echarts.min.js');
export default { export default {
@@ -249,6 +304,7 @@
navH:inject('navHeight'), navH:inject('navHeight'),
windowWidth:inject('windowWidth'), windowWidth:inject('windowWidth'),
eventId:'', //事件id eventId:'', //事件id
memberInfo:null, //会员信息
eventDetails:null, //事件详情 eventDetails:null, //事件详情
categoryList:['相关标的','相关概念','历史事件'], categoryList:['相关标的','相关概念','历史事件'],
targetList:[], //相关标的 targetList:[], //相关标的
@@ -261,6 +317,7 @@
getLocaleTime:getLocaleTime, getLocaleTime:getLocaleTime,
getRateUpOrDown:getRateUpOrDown, getRateUpOrDown:getRateUpOrDown,
getRateStr:getRateStr, getRateStr:getRateStr,
getChgRateStr:getChgRateStr,
scoreTop:'', scoreTop:'',
expectScore:0, //预期得分 expectScore:0, //预期得分
commentList:[], //评价列表 commentList:[], //评价列表
@@ -421,6 +478,45 @@
url:'/pages/index/conceptDetails/conceptDetails?name='+name 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) 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() this.$refs['expectScorePopup'].open()
}, },
@@ -586,7 +682,7 @@
getEventRelatedConceptData() getEventRelatedConceptData()
{ {
let eventDetails = this.eventDetails 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=>{ eventRelatedConcept(param).then(res=>{
// if(res.code==200) // if(res.code==200)
// { // {
@@ -637,6 +733,10 @@
</script> </script>
<style lang="less"> <style lang="less">
page
{
background-color: #070707;
}
.topBg .topBg
{ {
top: 0; top: 0;
@@ -646,21 +746,25 @@
} }
.eventDetailsC .eventDetailsC
{ {
background-color: white;
margin-top: 10rpx; margin-top: 10rpx;
padding: 20rpx 0 0; padding: 20rpx 25rpx 0;
left: 0; left: 0;
right: 0; right: 0;
bottom: calc(20rpx + 70rpx + 20rpx + env(safe-area-inset-bottom)); bottom: calc(20rpx + 70rpx + 20rpx + env(safe-area-inset-bottom));
border-radius: 20rpx 20rpx 0 0; border-radius: 20rpx 20rpx 0 0;
overflow-y: scroll; overflow-y: scroll;
.eventIntroC
{
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
padding: 26rpx 0 34rpx;
border-radius: 10rpx;
.categoryTitleC .categoryTitleC
{ {
padding: 0 25rpx; padding: 0 25rpx;
.category .category
{ {
background-color: #FD9A14; background-color: #F3C368;
margin-right: 12rpx; margin-right: 8rpx;
display: inline-block; display: inline-block;
padding: 0 11rpx; padding: 0 11rpx;
line-height: 40rpx; line-height: 40rpx;
@@ -674,6 +778,7 @@
font-size: 30rpx; font-size: 30rpx;
font-weight: bold; font-weight: bold;
color: #222; color: #222;
line-height: 1.1rem;
} }
} }
.eventTime .eventTime
@@ -681,71 +786,64 @@
margin: 20rpx 25rpx 0; margin: 20rpx 25rpx 0;
font-size: 22rpx; font-size: 22rpx;
font-weight: 500; font-weight: 500;
color: #aaa; color: #666;
} }
.eventContent .eventContent
{ {
margin: 22rpx 24rpx 0; margin: 18rpx 27rpx 0;
font-size: 24rpx; font-size: 24rpx;
font-weight: 500; font-weight: 500;
color: #666; color: #71675D;
line-height: 1.2rem; line-height: 1.3rem;
.ai .ai
{ {
color: #C00000; color: #EC3440;
} }
} }
.riskTips .riskTips
{ {
margin: 20rpx 25rpx 0; margin: 24rpx 25rpx 0;
padding-bottom: 30rpx; line-height: 1.2rem;
line-height: 1.4rem; font-size: 22rpx;
font-size: 20rpx; font-weight: 500;
color: #999; color: #A2A2A1;
border-bottom: solid 1rpx #E4E4E4; }
} }
.categoryList .categoryList
{ {
white-space: nowrap; white-space: nowrap;
margin-top: 10rpx;
.item .item
{ {
display: inline-block; display: inline-block;
line-height: 60rpx; line-height: 80rpx;
padding: 0 18rpx; padding: 0 18rpx;
font-size: 28rpx; font-size: 27rpx;
font-weight: 500; font-weight: 500;
color: #42485B; color: #939393;
} }
.item.select .item.select
{ {
font-weight: bold; font-weight: bold;
color: #F97316; color: #F3C368;
.line
{
background-color: #F97316;
left: calc((100% - 50rpx)/2);
bottom: 0;
width: 50rpx;
height: 2rpx;
}
} }
} }
.headingList .headingList
{ {
background-color: #F3F6F9; background-color: #FFF1E7;
margin: 28rpx 25rpx 0; padding: 0 10rpx;
border-radius: 10rpx 10rpx 0 0;
.item .item
{ {
line-height: 55rpx; line-height: 70rpx;
font-size: 24rpx; font-size: 24rpx;
font-weight: 500; font-weight: 500;
color: #999; color: #070707;
text-align: center; text-align: center;
} }
} }
.targetList .targetList
{ {
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
padding: 0 25rpx; padding: 0 25rpx;
.item .item
{ {
@@ -769,7 +867,7 @@
} }
.chg .chg
{ {
text-align: center; text-align: right;
} }
.chg.up .chg.up
{ {
@@ -777,168 +875,169 @@
} }
.chg.down .chg.down
{ {
color: #22C55E; color: #355422;
} }
} }
.content .content
{ {
font-size: 20rpx; font-size: 20rpx;
font-weight: 500; font-weight: 500;
color: #666; color: #71675D;
line-height: 1.2rem;
.ai .ai
{ {
color: #C00000; color: #EC3440;
} }
} }
} }
} }
.conceptList .conceptList
{ {
padding: 30rpx 25rpx;
.conceptItem .conceptItem
{ {
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.05); background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin: 0 30rpx 30rpx 0; margin-bottom: 20rpx;
width: calc((100% - 30rpx)/2);
border-radius: 10rpx; border-radius: 10rpx;
.coverC .titleChgStockNumC
{ {
.cover padding: 24rpx 18rpx 0;
{
display: block;
width: 100%;
height: 220rpx;
}
.rateC
{
top: 12rpx;
left: 12rpx;
padding: 0 10rpx;
line-height: 40rpx;
border-radius: 20rpx;
font-size: 18rpx;
font-weight: 500;
color: white;
.icon
{
width: 11rpx;
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
{
padding: 20rpx 23rpx;
.title .title
{ {
font-size: 26rpx; margin-right: 20rpx;
font-size: 30rpx;
font-weight: bold; font-weight: bold;
color: #222; 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;
}
.stockNum.up
{
color: #EC3440;
border: solid 2rpx #EC3440;
}
.stockNum.down
{
color: #355422;
border: solid 2rpx #355422;
}
} }
.content .content
{ {
margin-top: 26rpx;
padding: 0 22rpx;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden; overflow: hidden;
margin-top: 10rpx; text-overflow: ellipsis;
line-height: 1.2rem;
font-size: 20rpx;
font-weight: 500;
color: #666;
}
.transactionDate
{
margin-top: 12rpx;
font-size: 22rpx;
font-weight: 500;
color: #AAA;
} }
.hotStockC .hotStockC
{ {
background-color: #F7FAFC; margin-top: 30rpx;
margin-top: 16rpx; padding: 0 20rpx;
padding: 10rpx 13rpx; .title
border-radius: 5rpx;
.titleC
{ {
font-size: 20rpx; margin-right: 10rpx;
font-weight: 500; font-size: 24rpx;
color: #666; font-weight: bold;
.arrow color: #936E5C;
{
width: 6rpx;
height: auto;
}
} }
.stockList .stockList
{ {
margin-top: 10rpx; font-size: 22rpx;
height: 35rpx; .stockItem
overflow: hidden;
.item
{ {
background-color: #FFEADC; background-color: #3D3D3D;
margin: 0 5rpx 5rpx 0; margin-right: 10rpx;
padding: 0 9rpx; padding: 0 8rpx;
line-height: 30rpx; 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; border-radius: 5rpx;
font-size: 18rpx; font-size: 22rpx;
font-weight: 500; color: #F3C368;
color: #F97316; .icon
} {
} margin-right: 9rpx;
} width: 15rpx;
.dateHistoryTimeC height: auto;
}
}
}
.transactionDateHistoryTimeC
{
padding: 20rpx 22rpx 30rpx;
.transactionDate
{ {
margin-top: 10rpx;
font-size: 20rpx; font-size: 20rpx;
.date font-weight: 500;
{
color: #666; color: #666;
} }
.historyTimeC .historyTimeC
{ {
background-color: #F97316; background-color: #F3C368;
padding: 0 6rpx; padding: 0 10rpx 0 15rpx;
line-height: 38rpx; line-height: 36rpx;
border-radius: 5rpx; border-radius: 10rpx;
color: white; font-size: 22rpx;
} font-weight: 500;
} color: #101213;
} .icon
}
.conceptItem:nth-child(2n)
{ {
margin-right: 0; margin-right: 7rpx;
width: 20rpx;
height: auto;
} }
} }
}
}
}
.historyEventList .historyEventList
{ {
padding: 34rpx 25rpx; padding: 20rpx 0;
.expectScoreC .expectScoreC
{ {
background-color: #FBEFE7; padding: 0 20rpx;
padding: 0 25rpx;
height: 70rpx; height: 70rpx;
.icon .icon
{ {
@@ -950,7 +1049,7 @@
{ {
font-size: 24rpx; font-size: 24rpx;
font-weight: 500; font-weight: 500;
color: #F97316; color: #FFF6F0;
} }
.tips .tips
{ {
@@ -961,38 +1060,28 @@
} }
.list .list
{ {
padding: 23rpx 0;
.item .item
{ {
.eventLineC .eventLineC
{ {
padding: 0 43rpx 0 15rpx; padding: 30rpx 34rpx 0 25rpx;
.line .line
{ {
background-color: #F0F0F0; width: 1rpx;
width: 1px; border-left: dashed 1rpx #F3C368;
height: 100%; height: calc(100% - 10rpx);
} }
.pointC
{
background-color: #F9731680;
top: 0;
left: 5rpx;
width: 20rpx;
height: 20rpx;
border-radius: 50%;
.point .point
{ {
background-color: #F97316; top: 0;
width: 10rpx; left: 14rpx;
height: 10rpx; width: 20rpx;
border-radius: 50%; height: auto;
}
} }
} }
.eventInfoC .eventInfoC
{ {
box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.07); background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 20rpx; margin-bottom: 20rpx;
padding-top: 27rpx; padding-top: 27rpx;
min-width: 0; min-width: 0;
@@ -1006,19 +1095,19 @@
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
font-size: 30rpx; font-size: 28rpx;
font-weight: bold; font-weight: bold;
color: #222; color: #222;
} }
.correlation .correlation
{ {
background-color: #F973161A; background-color: #FFF8EB;
padding: 0 12rpx; padding: 0 12rpx;
line-height: 40rpx; line-height: 40rpx;
border-radius: 5rpx; border-radius: 5rpx;
font-size: 24rpx; font-size: 22rpx;
font-weight: 500; font-weight: 500;
color: #F97316; color: #EFB342;
} }
} }
.content .content
@@ -1055,7 +1144,7 @@
} }
.rateItem.up .rateItem.up
{ {
background-color: #C00000; background-color: #EC3440;
} }
.rateItem.down .rateItem.down
{ {
@@ -1070,7 +1159,7 @@
padding: 16rpx 30rpx; padding: 16rpx 30rpx;
font-size: 24rpx; font-size: 24rpx;
font-weight: bold; font-weight: bold;
color: #F97316; color: #070707;
.icon .icon
{ {
margin-right: 13rpx; margin-right: 13rpx;
@@ -1093,14 +1182,14 @@
} }
.bottomC .bottomC
{ {
background-color: #131313;
padding: 20rpx 25rpx calc(20rpx + env(safe-area-inset-bottom)); padding: 20rpx 25rpx calc(20rpx + env(safe-area-inset-bottom));
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
box-shadow: 0px -1rpx 0px 0px #EEEEEE;
.inputC .inputC
{ {
background-color: #F0F0F0; background-color:#424143;
margin-right: 20rpx; margin-right: 20rpx;
padding: 0 33rpx; padding: 0 33rpx;
height: 70rpx; height: 70rpx;
@@ -1327,7 +1416,7 @@
} }
.expectScorePopup .expectScorePopup
{ {
background-color: white; background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-left: calc(100% - 320rpx - 24rpx); margin-left: calc(100% - 320rpx - 24rpx);
width: 320rpx; width: 320rpx;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
@@ -1391,13 +1480,13 @@
} }
.correlation .correlation
{ {
background-color: #F973161A; background-color: #F3C368;
padding: 0 12rpx; padding: 0 12rpx;
line-height: 40rpx; line-height: 40rpx;
border-radius: 5rpx; border-radius: 5rpx;
font-size: 24rpx; font-size: 24rpx;
font-weight: 500; font-weight: 500;
color: #F97316; color: #101213;
} }
} }
.sectorRateC .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> </style>

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,19 @@
<template> <template>
<view> <view>
<navBar :leftText="navTitle"></navBar> <navBar :leftText="navTitle" :hideNavBg="true"></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 v-if="type==1" class="tabC fixed" :style="'top:'+navH+'px;'"> <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)"> <view :class="'item relative '+(selectCategory==index?'select':'')" v-for="(item,index) in categoryList" :key="index" @click="clickCategoryItem(index)">
{{item}} {{item}}
<view v-if="selectCategory==index" class="line absolute"></view> <view v-if="selectCategory==index" class="line absolute"></view>
</view> </view>
</view> </view>
<view :class="'contentC fixed '+(type==2?'radius':'')" :style="'top:'+contentTop+'px;'">
<view v-if="type==1&&tradeData" class="volumeAmountC flex"> <view v-if="type==1&&tradeData" class="volumeAmountC flex">
<text class="volume">成交量{{tradeData.volume}}</text> <text class="volume">成交量{{tradeData.volume}}</text>
<text class="amount">成交金额{{tradeData.amount}}</text> <text class="amount">成交金额{{tradeData.amount}}</text>
</view> </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> <l-echart ref="chartRef"></l-echart>
</view> </view>
<view class="section">关联描述</view> <view class="section">关联描述</view>
@@ -21,7 +21,10 @@
<view class="riskTips"> <view class="riskTips">
风险提示解析内容由价值前沿人工采集整理自新闻公告研报等公开信息团队辛苦编写未经许可严禁转载本产品内容内容均不构成投资建议请投资者注意风险独立审慎决策 风险提示解析内容由价值前沿人工采集整理自新闻公告研报等公开信息团队辛苦编写未经许可严禁转载本产品内容内容均不构成投资建议请投资者注意风险独立审慎决策
</view> </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="list">
<view class="item" v-for="(item,index) in sourceList" :key="index"> <view class="item" v-for="(item,index) in sourceList" :key="index">
<view class="content">{{item.sentences}}</view> <view class="content">{{item.sentences}}</view>
@@ -200,7 +203,7 @@
if(e.type==1) 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.eventId = e.id
this.stockCode = e.code this.stockCode = e.code
this.getStockDetailsData() this.getStockDetailsData()
@@ -397,6 +400,10 @@
</script> </script>
<style lang="less"> <style lang="less">
page
{
background-color: #070707;
}
.topBg .topBg
{ {
top: 0; top: 0;
@@ -404,17 +411,18 @@
width: 100%; width: 100%;
height: auto; height: auto;
} }
.tabC .chartDesC
{ {
background-color: white; background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-top: 10rpx; margin: 0 25rpx;
left: 0; padding-top: 10rpx;
right: 0; border-radius: 10rpx;
border-radius: 20rpx 20rpx 0 0; .tabC
{
.item .item
{ {
display: inline-block; display: inline-block;
padding: 0 30rpx; padding: 0 25rpx;
line-height: 60rpx; line-height: 60rpx;
font-size: 28rpx; font-size: 28rpx;
font-weight: 500; font-weight: 500;
@@ -423,35 +431,29 @@
.item.select .item.select
{ {
font-weight: bold; font-weight: bold;
color: #F97316; color: #F3C368;
.line .line
{ {
background-color: #F97316; background-color: #F3C368;
left: calc((100% - 50rpx)/2); left: calc((100% - 50rpx)/2);
bottom: 0; bottom: 0;
width: 50rpx; width: 50rpx;
height: 2rpx; height: 2rpx;
} }
} }
} }
.contentC
{
background-color: white;
left: 0;
right: 0;
bottom: 0;
overflow-y: scroll;
.volumeAmountC { .volumeAmountC {
padding: 20rpx; padding: 25rpx;
font-size: 26rpx; font-size: 28rpx;
color: #333; font-weight: bold;
color: #666;
.volume { .volume {
margin-right: 20rpx; margin-right: 30rpx;
} }
} }
.section .section
{ {
padding: 0 28rpx; padding: 0 25rpx;
line-height: 80rpx; line-height: 80rpx;
font-size: 32rpx; font-size: 32rpx;
font-weight: bold; font-weight: bold;
@@ -466,24 +468,35 @@
color: #666; color: #666;
.ai .ai
{ {
color: #C00000; color: #EC3440;
} }
} }
.riskTips .riskTips
{ {
margin: 20rpx 25rpx 0; margin: 20rpx 25rpx 0;
padding-bottom: 30rpx; padding-bottom: 30rpx;
line-height: 1.4rem; line-height: 1.2rem;
font-size: 20rpx; font-size: 22rpx;
color: #999; color: #A2A2A1;
border-bottom: solid 1rpx #E4E4E4; }
}
.infoSourceC
{
.section
{
padding: 0 25rpx;
line-height: 80rpx;
font-size: 27rpx;
font-weight: bold;
color: #F3C368;
} }
.list .list
{ {
padding: 0 25rpx; padding: 0 25rpx;
.item .item
{ {
background-color: #F8F8F8; background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin-bottom: 20rpx; margin-bottom: 20rpx;
padding: 30rpx 26rpx; padding: 30rpx 26rpx;
border-radius: 10rpx; border-radius: 10rpx;

View File

@@ -1,15 +1,13 @@
<template> <template>
<view> <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> <navBar leftText="投资日历" :hideNavBg="true" :hideBack="true"></navBar>
<view class="searchC fixed flex" :style="'top:'+navH+'px;'"> <view class="searchC fixed flex" :style="'top:'+navH+'px;'">
<image class="icon" src="/static/icon/home/search.png" mode="widthFix"></image> <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"/> <input class="flex1" type="text" v-model="keywords" placeholder="搜索股票/话题..." placeholder-style="color:#94989A"/>
<view class="line"></view>
<view class="search" @click="clickSearch()">搜索</view>
</view> </view>
<scroll-view scroll-y class="contentC fixed" :style="'top:'+contentTop+'px;'" refresher-enabled :refresher-triggered="isRefreshing" @refresherrefresh="pullDownRefresh()" @scrolltolower="loadMoreData()"> <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="todayC flex" >
<view class="todayDateC flex" @click="clickSelectMonth()"> <view class="todayDateC flex" @click="clickSelectMonth()">
<view class="date">{{selectDate}}</view> <view class="date">{{selectDate}}</view>
@@ -22,44 +20,60 @@
<view class="item flex1" v-for="(item,index) in weekList" :key="index">{{item}}</view> <view class="item flex1" v-for="(item,index) in weekList" :key="index">{{item}}</view>
</view> </view>
<view v-if="isExpand" class="monthDateList flexWrap"> <view v-if="isExpand" class="monthDateList flexWrap">
<view class="item flexColumnCenter" v-for="(item,index) in monthDateList" :key="index" @click="clickSelectDate(item)"> <block v-for="(item,index) in monthDateList" :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-if="item.className"> <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-danger'" :class="'item flexColumnCenter danger '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
<view v-if="item.className=='bg-gradient-warning'" class="eventNum warning">{{item.eventCount}}</view> <view class="date">{{item.day}}</view>
<view v-if="item.className=='bg-gradient-info'" class="eventNum info">{{item.eventCount}}</view> <view class="eventNum">{{item.eventCount}}</view>
<view v-if="item.className=='bg-gradient-success'" class="eventNum success">{{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>
<block v-else> <block v-else>
<view class="item flexColumnCenter">
<view :class="'date '+(item.isCurrentMonth?'':' notCurrentMonth')">{{item.day}}</view>
<view class="eventNum"></view> <view class="eventNum"></view>
</block>
</view> </view>
</block>
</block>
</view> </view>
<view v-else class="weekDateList flex"> <view v-else class="weekDateList flex">
<view class="item flex1 flexColumnCenter" v-for="(item,index) in weekDateList" @click="clickSelectDate(item)" :key="index"> <block v-for="(item,index) in weekDateList" :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-if="item.className"> <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-danger'" :class="'item flex1 flexColumnCenter danger '+(selectDate==item.date?'select':'')" @click="clickSelectDate(item)">
<view v-if="item.className=='bg-gradient-warning'" class="eventNum warning">{{item.eventCount}}</view> <view class="date">{{item.day}}</view>
<view v-if="item.className=='bg-gradient-info'" class="eventNum info">{{item.eventCount}}</view> <view class="eventNum">{{item.eventCount}}</view>
<view v-if="item.className=='bg-gradient-success'" class="eventNum success">{{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>
<block v-else> <block v-else>
<view class="eventNum"></view> <view class="item flex1 flexColumnCenter" @click="clickSelectDate(item)">
</block> <view class="date">{{item.day}}</view>
<view class="eventNum">{{item.className?item.eventCount:''}}</view>
</view> </view>
</block>
</block>
</view> </view>
<view class="expandBgC flexCenter"> <view class="expandBgC flexCenter">
<view class="expandC flex" @click="clickExpandOrRetract()"> <view class="expandC flex" @click="clickExpandOrRetract()">
@@ -80,30 +94,32 @@
</scroll-view> </scroll-view>
<view v-if="selectTab==0" class="eventList"> <view v-if="selectTab==0" class="eventList">
<view class="item" v-for="(item,index) in eventList" :key="index" @click="clickEventItem(item.id)"> <view class="item" v-for="(item,index) in eventList" :key="index" @click="clickEventItem(item.id)">
<view class="flex"> <view class="timeStarFollowC flex">
<view class="time flex1">{{getLocaleHourMinute(item.start_time)}}</view> <view class="time">{{getLocaleHourMinute(item.start_time)}}</view>
<view class="starC"> <view class="starC">
<view class="starList flex" > <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> <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> </view>
<view class="flex1"></view>
<!-- <view class="follow">+关注</view> -->
</view> </view>
<view class="categoryTitleC flex"> <view class="categoryTitleC flex">
<view class="category">{{item.category.event_type}}</view> <view class="category">{{item.category.event_type}}</view>
<view class="title flex1">{{item.title}}</view> <view class="title flex1">{{item.title}}</view>
</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"> <view class="label" v-for="(titem,tindex) in item.tags" :key="tindex">
{{titem}} {{titem}}
</view> </view>
</scroll-view> </scroll-view> -->
<view class="content"> <view class="content">
<ua-markdown :source="replaceAnswerLabel(item.description)" /> <ua-markdown :source="replaceAnswerLabel(item.description)" />
</view> </view>
<scroll-view v-if="item.related_concepts" scroll-x class="percentList"> <scroll-view v-if="item.related_concepts" scroll-x class="percentList">
<view class="percentItem" v-for="(citem,cindex) in item.related_concepts" :key="cindex"> <view class="percentItem" v-for="(citem,cindex) in item.related_concepts" :key="cindex">
{{citem.name}} {{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> <view class="num">{{citem.score*100}}%</view>
</zui-progress-circle> </zui-progress-circle>
</view> </view>
@@ -566,6 +582,10 @@
</script> </script>
<style lang="less"> <style lang="less">
page
{
background-color: #070707;
}
.topBg .topBg
{ {
top: 0; top: 0;
@@ -573,24 +593,17 @@
width: 100%; width: 100%;
height: auto; height: auto;
} }
.navTitle
{
left: 0;
margin: 0 23rpx;
font-size: 36rpx;
font-weight: bold;
color: white;
}
.searchC .searchC
{ {
background-color: white; background-color: #292929B3;
left: 0; left: 0;
right: 0; right: 0;
margin: 20rpx 25rpx 0; margin: 20rpx 25rpx 0;
padding: 0 20rpx; padding: 0 25rpx;
height: 75rpx; height: 70rpx;
border-radius: 20rpx; border: solid 1rpx #363636;
font-size: 26rpx; border-radius: 35rpx;
font-size: 22rpx;
font-weight: 500; font-weight: 500;
.icon .icon
{ {
@@ -616,13 +629,16 @@
} }
.contentC .contentC
{ {
background-color: white;
left: 0; left: 0;
right: 0; right: 0;
bottom: calc(55px + env(safe-area-inset-bottom)); bottom: calc(55px + env(safe-area-inset-bottom));
margin-top: 22rpx; margin-top: 20rpx;
border-radius: 20rpx 20rpx 0 0;
overflow-y: scroll; overflow-y: scroll;
.calendarC
{
background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
margin: 0 25rpx;
border-radius: 20rpx;
.todayC .todayC
{ {
padding: 12rpx 26rpx; padding: 12rpx 26rpx;
@@ -630,7 +646,7 @@
{ {
font-size: 32rpx; font-size: 32rpx;
font-weight: bold; font-weight: bold;
color: #222; color: #CCCDD1;
.icon .icon
{ {
margin-left: 16rpx; margin-left: 16rpx;
@@ -640,13 +656,13 @@
} }
.today .today
{ {
background-color: #F973161A; background-color: #F3C368;
width: 40rpx; width: 40rpx;
line-height: 40rpx; line-height: 40rpx;
border-radius: 50%; border-radius: 50%;
font-size: 26rpx; font-size: 26rpx;
font-weight: 500; font-weight: 500;
color: #F97316; color: #070707;
text-align: center; text-align: center;
} }
} }
@@ -656,79 +672,103 @@
{ {
line-height: 40rpx; line-height: 40rpx;
font-size: 24rpx; font-size: 24rpx;
font-weight: 500;
color: #292621; color: #292621;
text-align: center; text-align: center;
} }
} }
.weekDateList .weekDateList
{ {
margin-top: 6rpx;
padding: 0 20rpx;
.item .item
{ {
padding-top: 14rpx; margin-right: 16rpx;
padding: 10rpx 0 6rpx;
border-radius: 5rpx;
.date .date
{ {
width: 40rpx;
line-height: 40rpx;
font-size: 24rpx; font-size: 24rpx;
text-align: center; font-weight: bold;
} color: #2A2A2A;
.date.today
{
background-color: #F9731626;
border-radius: 5rpx;
color: #F97316;
} }
.eventNum .eventNum
{ {
// background-color: #EB4A46; white-space: nowrap;
margin-top: 12rpx; overflow: hidden;
width: 80rpx; text-overflow: ellipsis;
height: 30rpx; margin-top: 2rpx;
line-height: 30rpx; font-size: 18rpx;
border-radius: 5rpx; font-weight: bold;
font-size: 16rpx;
font-weight: 500;
color: white;
text-align: center;
} }
.eventNum.danger }
.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; 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; background-color: #16BBCF;
color: white;
} }
.eventNum.success .item.success
{
background-color: #55AE591A;
color: #55AE59;
}
.item.select.success
{ {
background-color: #55AE59; background-color: #55AE59;
} color: white;
} }
} }
.monthDateList .monthDateList
{ {
margin-top: 6rpx;
padding: 0 20rpx;
.item .item
{ {
padding-top: 14rpx; margin: 0 16rpx 20rpx 0;
width: calc(100%/7); padding: 10rpx 0 6rpx;
width: calc((100% - 96rpx)/7);
border-radius: 5rpx;
.date .date
{ {
width: 40rpx; font-size: 26rpx;
line-height: 40rpx;
font-size: 24rpx;
font-weight: bold; font-weight: bold;
color: #292621; color: #2A2A2A;
text-align: center;
}
.date.today
{
background-color: #F9731626;
border-radius: 5rpx;
color: #F97316;
} }
.date.notCurrentMonth .date.notCurrentMonth
{ {
@@ -736,32 +776,61 @@
} }
.eventNum .eventNum
{ {
margin-top: 12rpx; margin-top: 2rpx;
width: 80rpx; font-size: 18rpx;
height: 30rpx; font-weight: bold;
line-height: 30rpx;
border-radius: 5rpx;
font-size: 16rpx;
font-weight: 500;
color: white;
text-align: center;
} }
.eventNum.danger }
.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; 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; background-color: #16BBCF;
color: white;
} }
.eventNum.success .item.success
{
background-color: #55AE591A;
color: #55AE59;
}
.item.select.success
{ {
background-color: #55AE59; background-color: #55AE59;
} color: white;
} }
} }
.expandBgC .expandBgC
@@ -782,25 +851,26 @@
} }
} }
} }
}
.tabC .tabC
{ {
margin-top: 10rpx;
.item .item
{ {
display: inline-block; display: inline-block;
padding: 0 24rpx; padding: 0 27rpx;
line-height: 70rpx; line-height: 70rpx;
font-size: 32rpx; font-size: 32rpx;
color: #42485B; color: #CCCDD1;
} }
.item.select .item.select
{ {
color: #F97316; color: #F3C368;
} }
} }
.topCategoryC .topCategoryC
{ {
white-space: nowrap; white-space: nowrap;
border-bottom: solid 1rpx #E4E4E4;
.item .item
{ {
display: inline-block; display: inline-block;
@@ -808,15 +878,15 @@
padding: 0 28rpx; padding: 0 28rpx;
font-size: 27rpx; font-size: 27rpx;
font-weight: 500; font-weight: 500;
color: #42485B; color: #939393;
} }
.item.select .item.select
{ {
font-weight: bold; font-weight: bold;
color: black; color: #F3C368;
.line .line
{ {
background-color: #F97316; background-color: #F3C368;
left: calc((100% - 50rpx)/2); left: calc((100% - 50rpx)/2);
width: 50rpx; width: 50rpx;
height: 2rpx; height: 2rpx;
@@ -827,13 +897,18 @@
} }
.eventList .eventList
{ {
padding: 0 25rpx; padding: 18rpx 25rpx;
.item .item
{ {
padding: 30rpx 0; background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
border-bottom: solid 1rpx #E4E4E4; margin-bottom: 20rpx;
padding: 30rpx 20rpx;
border-radius: 10rpx;
.timeStarFollowC
{
.time .time
{ {
margin-right: 22rpx;
font-size: 24rpx; font-size: 24rpx;
font-weight: bold; font-weight: bold;
color: #767676; color: #767676;
@@ -852,28 +927,45 @@
height: auto; 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 .categoryTitleC
{ {
margin-top: 18rpx; margin-top: 18rpx;
.category .category
{ {
background-color: #FD9A14; background-color: #F3C368;
margin-right: 10rpx; margin-right: 12rpx;
padding: 0 12rpx; padding: 0 12rpx;
line-height: 40rpx; line-height: 40rpx;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 22rpx; font-size: 24rpx;
font-weight: bold; font-weight: bold;
color: white; color: #070707;
} }
.title .title
{ {
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
font-size: 30rpx; font-size: 28rpx;
font-weight: bold; font-weight: bold;
color: #222; color: #3D3D3D;
} }
} }
.labelC .labelC
@@ -901,18 +993,18 @@
overflow: hidden; overflow: hidden;
font-size: 24rpx; font-size: 24rpx;
font-weight: 500; font-weight: 500;
color: #666; color: #71675D;
} }
.percentList .percentList
{ {
white-space: nowrap; white-space: nowrap;
margin-top: 20rpx; margin-top: 26rpx;
.percentItem .percentItem
{ {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
background-color: #F8F8F8; background-color: white;
box-shadow: 0 7rpx 18rpx 0 rgba(217,217,217,0.28);
margin-right: 20rpx; margin-right: 20rpx;
padding: 0 20rpx; padding: 0 20rpx;
height: 70rpx; height: 70rpx;

View File

@@ -1,11 +1,10 @@
<template> <template>
<view> <view>
<navBar leftText="详情"></navBar> <navBar leftText="事件详情" :hideNavBg="true"></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="categoryC fixed" :style="'top:'+navH+'px;'"> <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)"> <view :class="'item relative '+(selectCategory==index?'select':'')" v-for="(item,index) in categoryList" :key="index" @click="clickCategoryItem(index)">
{{item}} {{item}}
<view v-if="selectCategory==index" class="line absolute"></view>
</view> </view>
</view> </view>
<view v-if="investDetails" class="contentC fixed" :style="'top:'+contentTop+'px;'"> <view v-if="investDetails" class="contentC fixed" :style="'top:'+contentTop+'px;'">
@@ -37,14 +36,31 @@
</view> </view>
</view> </view>
</view> </view>
<view v-if="selectCategory==4"> <view v-if="selectCategory==3">
<view class="conceptList"> <view class="conceptList">
<view class="item relative" v-for="(item,index) in investDetails.extracted_concepts" :key="index" @click="clickConceptItem()"> <view class="item" v-for="(item,index) in conceptList" :key="index">
<image class="cover" :src="item.first_image" mode="aspectFill"></image> <view class="titleChgStockNumC flex">
<view class="infoC absolute"> <view class="title">{{item.concept}}</view>
<view class="title">{{item.name}}</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 class="content relative">{{item.reason}} <view v-if="item.price_info" :class="'stockNum '+(getRateUpOrDown(item.price_info.avg_change_pct)?'down':'up')">{{item.stock_count}} 只股票</view>
<text class="lookDetails absolute">查看详情</text> </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> </view>
</view> </view>
@@ -73,13 +89,13 @@
{ {
title:'全部股票', title:'全部股票',
num:0, num:0,
bgColor:'#C00000', bgColor:'#D82A2A',
color:'white' color:'white'
}, },
{ {
title:'大周期', title:'大周期',
num:0, num:0,
bgColor:'#305496', bgColor:'#3A5D9C',
color:'white' color:'white'
}, },
{ {
@@ -163,6 +179,10 @@
</script> </script>
<style lang="less"> <style lang="less">
page
{
background-color: #070707;
}
.topBg .topBg
{ {
top: 0; top: 0;
@@ -172,9 +192,8 @@
} }
.categoryC .categoryC
{ {
background-color: white;
margin-top: 10rpx; margin-top: 10rpx;
padding-top: 20rpx; padding: 20rpx 10rpx 0;
left: 0; left: 0;
right: 0; right: 0;
border-radius: 20rpx 20rpx 0 0; border-radius: 20rpx 20rpx 0 0;
@@ -182,33 +201,25 @@
{ {
display: inline-block; display: inline-block;
padding: 0 30rpx; padding: 0 30rpx;
line-height: 75rpx; line-height: 76rpx;
font-size: 32rpx; font-size: 27rpx;
font-weight: 500; font-weight: 500;
color: #42485B; color: #939393;
} }
.item.select .item.select
{ {
font-weight: bold; font-weight: bold;
color: #F97316; color: #F3C368;
.line
{
background-color: #F97316;
left: calc((100% - 50rpx)/2);
bottom: 0;
width: 50rpx;
height: 2rpx;
}
} }
} }
.contentC .contentC
{ {
background-color: white; background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: env(safe-area-inset-bottom);
// margin-top: 10rpx; margin: 0 25rpx;
// border-radius: 20rpx 20rpx 0 0; border-radius: 10rpx;
overflow-y: scroll; overflow-y: scroll;
.former .former
{ {
@@ -221,12 +232,12 @@
} }
.stockCategoryList .stockCategoryList
{ {
margin-top: 18rpx; margin-top: 30rpx;
padding: 0 24rpx; padding: 0 20rpx;
.item .item
{ {
margin: 0 20rpx 20rpx 0; margin: 0 30rpx 20rpx 0;
width: calc((100% - 40rpx)/3); width: calc((100% - 60rpx)/3);
height: 100rpx; height: 100rpx;
border-radius: 10rpx; border-radius: 10rpx;
.num .num
@@ -294,42 +305,137 @@
padding: 30rpx 25rpx; padding: 30rpx 25rpx;
.item .item
{ {
margin-bottom: 20rpx; background: linear-gradient(-30deg, #FFF6F0 0%, #FEFEFE 100%);
.cover margin-bottom: 24rpx;
{
display: block;
width: 100%;
height: 350rpx;
border-radius: 10rpx; border-radius: 10rpx;
} .titleChgStockNumC
.infoC
{ {
background: linear-gradient(to bottom,#00000080,#000); padding: 24rpx 18rpx 0;
padding: 20rpx 23rpx;
left:0;
width: 100%;
bottom: 0;
border-radius: ;
color: white;
.title .title
{ {
font-size: 26rpx; margin-right: 20rpx;
font-size: 30rpx;
font-weight: bold; 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;
}
.stockNum.up
{
color: #EC3440;
border: solid 2rpx #EC3440;
}
.stockNum.down
{
color: #355422;
border: solid 2rpx #355422;
}
} }
.content .content
{ {
margin-top: 26rpx;
padding: 0 22rpx;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden; overflow: hidden;
margin-top: 10rpx; 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
{
font-size: 20rpx; font-size: 20rpx;
font-weight: 500; font-weight: 500;
line-height: 1.2rem; color: #666;
.lookDetails }
.historyTimeC
{ {
right: 0; background-color: #F3C368;
color: #F97316; padding: 0 10rpx 0 15rpx;
line-height: 36rpx;
border-radius: 10rpx;
font-size: 22rpx;
font-weight: 500;
color: #101213;
.icon
{
margin-right: 7rpx;
width: 20rpx;
height: auto;
} }
} }
} }

View File

@@ -3,7 +3,10 @@
<navBar leftText="登录" :hideNavBg="true" :backBlack="true"></navBar> <navBar leftText="登录" :hideNavBg="true" :backBlack="true"></navBar>
<image class="logo" :style="'margin-top:'+contentTop+'px;'" src="/static/image/login/logo.png" mode="widthFix"></image> <image class="logo" :style="'margin-top:'+contentTop+'px;'" src="/static/image/login/logo.png" mode="widthFix"></image>
<view class="loginTitle">欢迎登录价值前沿平台</view> <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="btn codeLogin" @click="clickCodeLogin()">使用短信验证登录</view>
<view class="agreeProtocolC fixed flexCenter"> <view class="agreeProtocolC fixed flexCenter">
<view class="agreeC" @click="clickAgree()"> <view class="agreeC" @click="clickAgree()">
@@ -17,19 +20,73 @@
<script> <script>
import { inject } from 'vue'; import { inject } from 'vue';
import { loginByWx } from '@/request/api'; import { loginByWx, wxBindPhone } from '@/request/api';
export default { export default {
data() { data() {
return { return {
contentTop:'', contentTop:'',
isAgree:false isAgree:false,
isBindPhone:true, //是否绑定过手机号
} }
}, },
onLoad() { onLoad() {
this.contentTop = inject('navHeight')+230/750*inject('windowWidth') this.contentTop = inject('navHeight')+230/750*inject('windowWidth')
this.getIsBindPhoneData()
}, },
methods: { 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=>{ loginByWx(param).then(res=>{
if(res.code==200) if(res.code==200)
{ {
uni.showToast({ let token = res.data.token
title:res.message, uni.setStorageSync('token',token)
})
uni.setStorageSync('token',res.data.token)
setTimeout(function() { setTimeout(function() {
uni.switchTab({ uni.switchTab({
url:'/pages/index/index' url:'/pages/index/index'
@@ -73,7 +128,6 @@
} }
}) })
}, },
/** /**
* 点击验证码登录 * 点击验证码登录
@@ -99,6 +153,35 @@
uni.navigateTo({ uni.navigateTo({
url:'/pages/mine/web/web?type='+type 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; background-color: #F97316;
margin-top: 60rpx; margin-top: 60rpx;
color: white; color: white;
button
{
top: 0;
left: 0;
width: 100%;
height: 100%;
}
} }
.btn.codeLogin .btn.codeLogin
{ {

View File

@@ -1,7 +1,7 @@
<template> <template>
<view> <view>
<navBar leftText="信息完善"></navBar> <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;'"> <view class="avatarC fixed" :style="'top:'+avatarTop+'px;'">
<image class="avatar" :src="avatar?avatar:avatarUrl" mode="aspectFill"></image> <image class="avatar" :src="avatar?avatar:avatarUrl" mode="aspectFill"></image>
<image class="icon absolute" src="/static/icon/mine/basicInfo/edit.png" mode="widthFix"></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" /> <input type="nickname" v-model="nickname" />
</view> </view>
<view class="section">手机号</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> <view class="section">性别</view>
<picker mode="selector" :range="sexList" @change="sexChange"> <picker mode="selector" :range="sexList" @change="sexChange">
<view class="selectC flex"> <view class="selectC flex">
@@ -33,7 +36,7 @@
<script> <script>
import { inject } from 'vue'; import { inject } from 'vue';
import { updateBasicInfo, userInfo } from '@/request/api'; import { updateBasicInfo, userInfo, wxBindPhone } from '@/request/api';
import { uploadImg } from '@/utils/util'; import { uploadImg } from '@/utils/util';
export default { export default {
@@ -75,6 +78,31 @@
let value = e.detail.value let value = e.detail.value
this.sex = this.sexList[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; width: 16rpx;
height: auto; height: auto;
} }
button
{
top: 0;
left: 0;
width: 100%;
height: 100%;
}
} }
.textareaC .textareaC
{ {

View File

@@ -1,7 +1,7 @@
<template> <template>
<view> <view>
<navBar leftText="评论回复"></navBar> <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="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)"> <view :class="'item flex1 relative '+(selectTab==index?'select':'')" v-for="(item,index) in tabList" :key="index" @click="clickTabItem(index)">
{{item}} {{item}}

View File

@@ -1,7 +1,7 @@
<template> <template>
<view> <view>
<navBar leftText="意见反馈"></navBar> <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="feedbackC fixed" :style="'top:'+navH+'px;'">
<view class="textareaC"> <view class="textareaC">
<textarea v-model="content" placeholder="请输入您要反馈的问题200 字以内)" placeholder-style="color:#C5C5C5" maxlength="200"></textarea> <textarea v-model="content" placeholder="请输入您要反馈的问题200 字以内)" placeholder-style="color:#C5C5C5" maxlength="200"></textarea>

View File

@@ -1,7 +1,7 @@
<template> <template>
<view> <view>
<navBar leftText="关注收藏"></navBar> <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="list fixed" :style="'top:'+navH+'px;'">
<view class="item" @click="clickEventItem(item.event_id)" v-for="(item,index) in followList" :key="index"> <view class="item" @click="clickEventItem(item.event_id)" v-for="(item,index) in followList" :key="index">
<view class="flex"> <view class="flex">

View File

@@ -1,7 +1,7 @@
<template> <template>
<view> <view>
<navBar leftText="信息完善"></navBar> <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;'"> <view class="avatarC fixed" :style="'top:'+avatarTop+'px;'">
<image class="avatar" :src="avatar?avatar:avatarUrl" mode="aspectFill"></image> <image class="avatar" :src="avatar?avatar:avatarUrl" mode="aspectFill"></image>
<image class="icon absolute" src="/static/icon/mine/basicInfo/edit.png" mode="widthFix"></image> <image class="icon absolute" src="/static/icon/mine/basicInfo/edit.png" mode="widthFix"></image>

View File

@@ -1,12 +1,13 @@
<template> <template>
<view> <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 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()"> <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> <image class="avatar" :src="userInfo.basic_info.avatar_url" mode="aspectFill"></image>
<view class="flex1"> <view class="flex1">
<view class="nickname">{{userInfo.basic_info.username}}</view> <view class="nickname">{{userInfo.basic_info.username}}</view>
<view class="mobile">手机号{{userInfo.basic_info.phone}}</view> <view class="mobile">手机号{{userInfo.basic_info.phone}}</view>
<view v-if="memberInfo&&memberInfo.is_member" class="mobile">{{memberInfo.subscription_type}}会员</view>
</view> </view>
<image class="arrow" src="/static/icon/mine/infoArrow.png" mode="widthFix"></image> <image class="arrow" src="/static/icon/mine/infoArrow.png" mode="widthFix"></image>
</view> </view>
@@ -47,7 +48,7 @@
<script> <script>
import { inject } from 'vue'; import { inject } from 'vue';
import { userInfo } from '@/request/api'; import { userInfo, membershipStatus } from '@/request/api';
export default { export default {
data() { data() {
@@ -55,7 +56,8 @@
menuTop:inject('menuTop'), menuTop:inject('menuTop'),
menuH: inject('menuHeight'), menuH: inject('menuHeight'),
infoTop:'', infoTop:'',
userInfo:null, userInfo:null, //用户信息
memberInfo:null, //会员信息
menuList:[{ menuList:[{
icon:'/static/icon/mine/aboutUs.png', icon:'/static/icon/mine/aboutUs.png',
title:'关于我们', title:'关于我们',
@@ -91,6 +93,7 @@
}, },
onShow() { onShow() {
this.getUserInfoData() this.getUserInfoData()
this.getMemberStatus()
}, },
methods: { methods: {
/** /**
@@ -135,6 +138,11 @@
url:'/pages/mine/myLike/myLike' url:'/pages/mine/myLike/myLike'
}) })
}, },
/**
* 点击菜单
* @param {Object} url
* @param {Object} index
*/
clickMenuItem(url,index) clickMenuItem(url,index)
{ {
if(url) if(url)
@@ -178,6 +186,23 @@
}) })
}).catch(error=>{ }).catch(error=>{
})
},
/**
* 获取会员状态
*/
getMemberStatus()
{
membershipStatus().then(res=>{
if (res.code==200) {
this.memberInfo = res.data
} else
uni.showToast({
title:res.message,
icon:'none'
})
}).catch(error=>{
}) })
} }
} }
@@ -185,6 +210,10 @@
</script> </script>
<style lang="less"> <style lang="less">
page
{
background-color: black;
}
.topBg .topBg
{ {
top: 0; top: 0;
@@ -222,7 +251,7 @@
margin-top: 6rpx; margin-top: 6rpx;
font-size: 24rpx; font-size: 24rpx;
font-weight: 500; font-weight: 500;
color: #FFECD3; color: #F3C368;
} }
.arrow .arrow
{ {
@@ -251,7 +280,7 @@
} }
.vipC .vipC
{ {
padding: 0 25rpx; margin: 0 45rpx;
.icon .icon
{ {
display: block; display: block;
@@ -262,8 +291,9 @@
.menuList .menuList
{ {
background-color: white; background-color: white;
padding: 0 25rpx; margin: 0 25rpx;
border-radius: 20rpx 20rpx 0 0; padding: 0 20rpx 220rpx;
border-radius: 20rpx;
.item .item
{ {
height: 100rpx; height: 100rpx;

View File

@@ -1,7 +1,7 @@
<template> <template>
<view> <view>
<navBar leftText="我的点赞"></navBar> <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="list fixed" :style="'top:'+navH+'px;'">
<view class="item" v-for="(item,index) in myLikeList" :key="index"> <view class="item" v-for="(item,index) in myLikeList" :key="index">
<image class="avatar" :src="item.author.avatar_url" mode="aspectFill"></image> <image class="avatar" :src="item.author.avatar_url" mode="aspectFill"></image>

View File

@@ -1,7 +1,7 @@
<template> <template>
<view> <view>
<navBar :leftText="navTitle"></navBar> <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;'"> <view class="contentC fixed" :style="'top:'+navH+'px;'">
<text>{{webContent}}</text> <text>{{webContent}}</text>
</view> </view>

View File

@@ -1,13 +1,13 @@
<template> <template>
<view> <view>
<navBar leftText="会员中心"></navBar> <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 v-if="memberInfo" class="vipC relative" :style="'margin-top:'+navH+'px;'"> <view v-if="memberInfo" class="vipC relative" :style="'margin-top:'+navH+'px;'">
<view class="vipInfoC relative"> <view class="vipInfoC relative">
<image v-if="memberInfo.is_member" class="bg" src="/pagesMine/static/image/vip/vipTopBg.png" mode="widthFix"></image> <image v-if="memberInfo.is_member" class="bg" src="/pagesMine/static/image/vip/vipTopBg.png" mode="widthFix"></image>
<image v-else class="bg" src="/pagesMine/static/image/vip/noVipTopBg.png" mode="widthFix"></image> <image v-else class="bg" src="/pagesMine/static/image/vip/noVipTopBg.png" mode="widthFix"></image>
<view v-if="memberInfo.is_member" class="infoC vip absolute"> <view v-if="memberInfo.is_member" class="infoC vip absolute">
<view class="title">尊贵的VIP会员</view> <view class="title">尊贵的{{memberInfo.subscription_type}}VIP会员</view>
<view class="tips">会员有效期至{{memberInfo.member_expire_date}}</view> <view class="tips">会员有效期至{{memberInfo.member_expire_date}}</view>
</view> </view>
<view v-else class="infoC absolute"> <view v-else class="infoC absolute">

View File

@@ -1,13 +1,13 @@
<template> <template>
<view> <view>
<navBar leftText="会员中心"></navBar> <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 v-if="memberInfo" class="vipC" :style="'margin-top:'+navH+'px;'"> <view v-if="memberInfo" class="vipC" :style="'margin-top:'+navH+'px;'">
<view class="vipInfoC relative"> <view class="vipInfoC relative">
<image v-if="memberInfo.is_member" class="bg" src="/pagesMine/static/image/vip/vipTopBg.png" mode="widthFix"></image> <image v-if="memberInfo.is_member" class="bg" src="/pagesMine/static/image/vip/vipTopBg.png" mode="widthFix"></image>
<image v-else class="bg" src="/pagesMine/static/image/vip/noVipTopBg.png" mode="widthFix"></image> <image v-else class="bg" src="/pagesMine/static/image/vip/noVipTopBg.png" mode="widthFix"></image>
<view v-if="memberInfo.is_member" class="infoC vip absolute"> <view v-if="memberInfo.is_member" class="infoC vip absolute">
<view class="title">尊贵的VIP会员</view> <view class="title">尊贵的{{memberInfo.subscription_type}}VIP会员</view>
<view class="tips">会员有效期至{{memberInfo.member_expire_date}}</view> <view class="tips">会员有效期至{{memberInfo.member_expire_date}}</view>
</view> </view>
<view v-else class="infoC absolute"> <view v-else class="infoC absolute">

View File

@@ -20,6 +20,10 @@ export const loginByEmail = param => post('/api/auth/login/email',param)
* 微信登录 * 微信登录
*/ */
export const loginByWx = param => post('/api/auth/login/wechat',param) export const loginByWx = param => post('/api/auth/login/wechat',param)
/**
* 微信绑定手机号
*/
export const wxBindPhone = param => post('/api/auth/bindphone/wechat',param)
/** /**
* 行业分类列表 * 行业分类列表

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 972 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View File

@@ -2,6 +2,7 @@
"pages": [ "pages": [
"pages/index/index", "pages/index/index",
"pages/invest/invest", "pages/invest/invest",
"pages/concept/concept",
"pages/mine/mine", "pages/mine/mine",
"pages/mine/basicInfo/basicInfo", "pages/mine/basicInfo/basicInfo",
"pages/mine/feedback/feedback", "pages/mine/feedback/feedback",
@@ -16,9 +17,9 @@
"pages/login/login", "pages/login/login",
"pages/login/codeLogin/codeLogin", "pages/login/codeLogin/codeLogin",
"pages/mine/web/web", "pages/mine/web/web",
"pages/index/conceptCenter/conceptCenter", "pages/index/conceptNewsDetails/conceptNewsDetails",
"pages/index/historicalTimeline/historicalTimeline", "pages/concept/historicalTimeline/historicalTimeline",
"pages/index/hotStock/hotStock" "pages/concept/hotStock/hotStock"
], ],
"subPackages": [ "subPackages": [
{ {

View File

@@ -1 +1 @@
"use strict";exports._imports_0="/static/image/mine/myTopBg.png",exports._imports_0$1="/static/image/login/logo.png",exports._imports_0$2="/static/image/index/conceptTopBg.png",exports._imports_1="/static/icon/home/search.png",exports._imports_1$1="/static/icon/home/downArrow.png",exports._imports_1$10="/pagesMine/static/image/vip/vipTopBg.png",exports._imports_1$11="/static/icon/back.png",exports._imports_1$2="/static/icon/mine/infoArrow.png",exports._imports_1$3="/static/icon/mine/basicInfo/edit.png",exports._imports_1$4="/static/icon/home/conceptDownArrow.png",exports._imports_1$5="/static/icon/home/like_s.png",exports._imports_1$6="/static/icon/login/mobile.png",exports._imports_1$7="/static/icon/home/conceptCenter/pre.png",exports._imports_1$8="/static/icon/home/conceptCenter/search.png",exports._imports_1$9="/static/icon/home/conceptCenter/timeScreenArrow.png",exports._imports_10="/static/icon/home/follow.png",exports._imports_10$1="/static/icon/home/conceptCenter/rankChg.png",exports._imports_10$2="/pagesMine/static/icon/vip/step2.png",exports._imports_11="/static/icon/home/conceptCenter/calendar.png",exports._imports_11$1="/pagesMine/static/icon/vip/step3_v.png",exports._imports_12="/static/icon/home/like.png",exports._imports_12$1="/static/icon/home/conceptCenter/browse.png",exports._imports_12$2="/pagesMine/static/icon/vip/step3.png",exports._imports_13="/static/icon/home/delete.png",exports._imports_13$1="/static/icon/home/sortArrow.png",exports._imports_13$2="/pagesMine/static/icon/vip/step4_v.png",exports._imports_14="/static/icon/home/industry_s.png",exports._imports_14$1="/pagesMine/static/icon/vip/step4.png",exports._imports_15="/pagesMine/static/icon/vip/investQuestion.png",exports._imports_16="/static/icon/home/conceptCenter/vipPopIcon.png",exports._imports_16$1="/pagesMine/static/icon/vip/industrialResearch.png",exports._imports_17="/static/icon/home/conceptCenter/visitModule.png",exports._imports_17$1="/pagesMine/static/icon/vip/operatingDecision.png",exports._imports_18="/static/icon/home/conceptCenter/free_s.png",exports._imports_19="/static/icon/home/conceptCenter/pro_s.png",exports._imports_2="/static/icon/backBlack.png",exports._imports_2$1="/static/icon/home/sort.png",exports._imports_2$10="/static/icon/home/conceptCenter/reasonRetract.png",exports._imports_2$11="/pagesMine/static/image/vip/noVipTopBg.png",exports._imports_2$2="/static/icon/home/upArrow.png",exports._imports_2$3="/static/icon/invest/calendar.png",exports._imports_2$4="/static/image/mine/vipBg.png",exports._imports_2$5="/static/icon/mine/basicInfo/downArrow.png",exports._imports_2$6="/static/icon/home/conceptUpArrow.png",exports._imports_2$7="/static/icon/login/code.png",exports._imports_2$8="/static/icon/home/conceptCenter/next.png",exports._imports_2$9="/static/icon/home/conceptCenter/sortType.png",exports._imports_3="/static/icon/home/browser.png",exports._imports_3$1="/static/icon/home/screen.png",exports._imports_3$2="/static/icon/invest/upArrow.png",exports._imports_3$3="/static/icon/mine/menuArrow.png",exports._imports_3$4="/static/icon/home/stockArrow.png",exports._imports_3$5="/static/icon/login/select_s.png",exports._imports_3$6="/static/icon/home/conceptCenter/transactionDate.png",exports._imports_3$7="/static/icon/home/conceptCenter/chgUp.png",exports._imports_3$8="/pagesMine/static/icon/vip/titleLeft_v.png",exports._imports_4="/static/icon/home/comment.png",exports._imports_4$1="/static/icon/invest/downArrow.png",exports._imports_4$2="/static/image/mine/service.png",exports._imports_4$3="/static/icon/home/expectScore.png",exports._imports_4$4="/static/icon/login/select.png",exports._imports_4$5="/static/icon/home/conceptCenter/timeAxis.png",exports._imports_4$6="/static/icon/home/conceptCenter/newsReport.png",exports._imports_4$7="/pagesMine/static/icon/vip/titleLeft.png",exports._imports_5="/static/icon/home/monthLeftArrow.png",exports._imports_5$1="/static/icon/home/close.png",exports._imports_5$2="/static/icon/home/expectScoreTips.png",exports._imports_5$3="/static/icon/home/follow_s.png",exports._imports_5$4="/pagesMine/static/icon/vip/titleRight_v.png",exports._imports_6="/static/icon/home/monthRightArrow.png",exports._imports_6$1="/static/icon/home/conceptCenter/statistics.png",exports._imports_6$2="/pagesMine/static/icon/vip/titleRight.png",exports._imports_7="/static/icon/home/conceptCenter/rank1.png",exports._imports_7$1="/pagesMine/static/icon/vip/step1_v.png",exports._imports_7$2="/pagesMine/static/icon/vip/notContain.png",exports._imports_8="/static/icon/home/conceptCenter/rank2.png",exports._imports_8$1="/pagesMine/static/icon/vip/step1.png",exports._imports_8$2="/pagesMine/static/icon/vip/contain.png",exports._imports_9="/static/icon/home/conceptCenter/rank3.png",exports._imports_9$1="/pagesMine/static/icon/vip/step2_v.png"; "use strict";exports._imports_0="/static/image/index/conceptTopBg.png",exports._imports_0$1="/static/image/login/logo.png",exports._imports_1="/static/icon/home/conceptCenter/search.png",exports._imports_1$1="/static/icon/home/downArrow.png",exports._imports_1$10="/static/icon/back.png",exports._imports_1$2="/static/icon/home/conceptCenter/timeAxis.png",exports._imports_1$3="/static/icon/home/conceptCenter/lock.png",exports._imports_1$4="/static/icon/mine/infoArrow.png",exports._imports_1$5="/static/icon/mine/basicInfo/edit.png",exports._imports_1$6="/static/icon/home/like_s.png",exports._imports_1$7="/static/icon/login/mobile.png",exports._imports_1$8="/static/icon/home/conceptCenter/timeScreenArrow.png",exports._imports_1$9="/pagesMine/static/image/vip/vipTopBg.png",exports._imports_10="/static/icon/home/search.png",exports._imports_10$1="/static/icon/home/follow.png",exports._imports_10$2="/static/icon/home/conceptCenter/rank2.png",exports._imports_10$3="/pagesMine/static/icon/vip/step2.png",exports._imports_11="/static/icon/home/delete.png",exports._imports_11$1="/static/icon/home/close.png",exports._imports_11$2="/static/icon/home/conceptCenter/rank3.png",exports._imports_11$3="/pagesMine/static/icon/vip/step3_v.png",exports._imports_12="/static/icon/home/industry_s.png",exports._imports_12$1="/static/icon/home/conceptCenter/rankChg.png",exports._imports_12$2="/static/icon/home/like.png",exports._imports_12$3="/pagesMine/static/icon/vip/step3.png",exports._imports_13="/static/icon/home/level_s.png",exports._imports_13$1="/static/icon/home/sortArrow.png",exports._imports_13$2="/static/icon/home/conceptCenter/calendar.png",exports._imports_13$3="/pagesMine/static/icon/vip/step4_v.png",exports._imports_14="/static/icon/home/conceptCenter/vipPopIcon.png",exports._imports_14$1="/static/icon/home/conceptCenter/browse.png",exports._imports_14$2="/pagesMine/static/icon/vip/step4.png",exports._imports_15="/static/icon/home/conceptCenter/visitModule.png",exports._imports_15$1="/pagesMine/static/icon/vip/investQuestion.png",exports._imports_16="/static/icon/home/conceptCenter/free_s.png",exports._imports_16$1="/pagesMine/static/icon/vip/industrialResearch.png",exports._imports_17="/static/icon/home/conceptCenter/pro_s.png",exports._imports_17$1="/pagesMine/static/icon/vip/operatingDecision.png",exports._imports_2="/static/icon/backBlack.png",exports._imports_2$1="/static/icon/home/upArrow.png",exports._imports_2$2="/static/icon/invest/calendar.png",exports._imports_2$3="/static/icon/home/conceptCenter/sortType.png",exports._imports_2$4="/static/image/mine/vipBg.png",exports._imports_2$5="/static/icon/mine/basicInfo/downArrow.png",exports._imports_2$6="/static/icon/login/code.png",exports._imports_2$7="/static/icon/home/conceptCenter/reasonExpand.png",exports._imports_2$8="/pagesMine/static/image/vip/noVipTopBg.png",exports._imports_3="/static/icon/home/conceptCenter/conceptScreenArrow.png",exports._imports_3$1="/static/icon/home/browser.png",exports._imports_3$2="/static/icon/invest/upArrow.png",exports._imports_3$3="/static/icon/mine/menuArrow.png",exports._imports_3$4="/static/icon/home/expectScore.png",exports._imports_3$5="/static/icon/login/select_s.png",exports._imports_3$6="/static/icon/home/conceptCenter/chgDown.png",exports._imports_3$7="/static/icon/home/conceptCenter/reasonRetract.png",exports._imports_3$8="/pagesMine/static/icon/vip/titleLeft_v.png",exports._imports_4="/static/icon/home/comment.png",exports._imports_4$1="/static/icon/invest/downArrow.png",exports._imports_4$2="/static/icon/home/conceptCenter/pre.png",exports._imports_4$3="/static/icon/home/conceptCenter/transactionDate.png",exports._imports_4$4="/static/image/mine/service.png",exports._imports_4$5="/static/icon/home/expectScoreTips.png",exports._imports_4$6="/static/icon/login/select.png",exports._imports_4$7="/static/icon/home/conceptCenter/chgUp.png",exports._imports_4$8="/pagesMine/static/icon/vip/titleLeft.png",exports._imports_5="/static/icon/home/monthLeftArrow.png",exports._imports_5$1="/static/icon/home/conceptCenter/next.png",exports._imports_5$2="/static/icon/home/expectScoreDot.png",exports._imports_5$3="/static/icon/home/follow_s.png",exports._imports_5$4="/static/icon/home/conceptCenter/newsReport.png",exports._imports_5$5="/pagesMine/static/icon/vip/titleRight_v.png",exports._imports_6="/static/icon/home/monthRightArrow.png",exports._imports_6$1="/pagesMine/static/icon/vip/titleRight.png",exports._imports_7="/pagesMine/static/icon/vip/step1_v.png",exports._imports_7$1="/pagesMine/static/icon/vip/notContain.png",exports._imports_8="/static/icon/home/conceptCenter/statistics.png",exports._imports_8$1="/pagesMine/static/icon/vip/step1.png",exports._imports_8$2="/pagesMine/static/icon/vip/contain.png",exports._imports_9="/static/icon/home/dateRange.png",exports._imports_9$1="/static/icon/home/conceptCenter/rank1.png",exports._imports_9$2="/pagesMine/static/icon/vip/step2_v.png";

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js");getApp();const a={name:"navBar",data(){return{navH:e.inject("navHeight"),menuH:e.inject("menuHeight"),navBarStyle:"",backTitleStyle:"",navTitleStyle:"",titleColor:this.navTitleColor,bgColor:this.navBgColor,num:this.peopleNum}},props:{leftText:{type:String,default:""},backBlack:{type:Boolean,default:!1},navTitle:{type:String,default:""},navBgColor:{type:String,default:""},navTitleColor:{type:String,default:"white"},hideBack:{type:Boolean,default:!1},hideNavBg:{type:Boolean,default:!1},backLevel:{type:Number,default:1},peopleNum:{type:Number,default:0}},mounted(){let t=this.navH,a=e.inject("menuHeight"),l=e.inject("menuTop"),i=`background-color:${this.bgColor};height:${t}px;`,n=`height:${a}px;margin-top:${l}px;color:${this.titleColor}`,o=`height:${a}px;line-height:${a}px;top:${l}px;color:${this.titleColor}`;this.navBarStyle=i,this.backTitleStyle=n,this.navTitleStyle=o},watch:{navTitleColor:{handler(e,t){this.titleColor=e}},navBgColor:{handler(e,t){this.bgColor=e}},peopleNum:{handler(e,t){this.num=e}}},methods:{clickBack(){e.index.navigateBack({fail(){e.index.switchTab({url:"/pages/index/index"})}})}}};const l=e._export_sfc(a,[["render",function(a,l,i,n,o,r){return e.e({a:!i.hideNavBg},i.hideNavBg?{}:{b:t._imports_0},{c:!i.hideBack&&!i.backBlack},i.hideBack||i.backBlack?{}:{d:t._imports_1$11},{e:!i.hideBack&&i.backBlack},!i.hideBack&&i.backBlack?{f:t._imports_2}:{},{g:e.t(i.leftText),h:e.s(o.backTitleStyle),i:e.o(((...e)=>r.clickBack&&r.clickBack(...e))),j:e.t(i.navTitle),k:o.num>0},o.num>0?{l:e.t(o.num)}:{},{m:e.s(o.navTitleStyle),n:e.s(o.navBarStyle)})}]]);wx.createComponent(l); "use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js");getApp();const a={name:"navBar",data(){return{navH:e.inject("navHeight"),menuH:e.inject("menuHeight"),navBarStyle:"",backTitleStyle:"",navTitleStyle:"",titleColor:this.navTitleColor,bgColor:this.navBgColor,num:this.peopleNum}},props:{leftText:{type:String,default:""},backBlack:{type:Boolean,default:!1},navTitle:{type:String,default:""},navBgColor:{type:String,default:""},navTitleColor:{type:String,default:"white"},hideBack:{type:Boolean,default:!1},hideNavBg:{type:Boolean,default:!1},backLevel:{type:Number,default:1},peopleNum:{type:Number,default:0}},mounted(){let t=this.navH,a=e.inject("menuHeight"),l=e.inject("menuTop"),i=`background-color:${this.bgColor};height:${t}px;`,n=`height:${a}px;margin-top:${l}px;color:${this.titleColor}`,o=`height:${a}px;line-height:${a}px;top:${l}px;color:${this.titleColor}`;this.navBarStyle=i,this.backTitleStyle=n,this.navTitleStyle=o},watch:{navTitleColor:{handler(e,t){this.titleColor=e}},navBgColor:{handler(e,t){this.bgColor=e}},peopleNum:{handler(e,t){this.num=e}}},methods:{clickBack(){e.index.navigateBack({fail(){e.index.switchTab({url:"/pages/index/index"})}})}}};const l=e._export_sfc(a,[["render",function(a,l,i,n,o,r){return e.e({a:!i.hideNavBg},i.hideNavBg?{}:{b:t._imports_0},{c:!i.hideBack&&!i.backBlack},i.hideBack||i.backBlack?{}:{d:t._imports_1$10},{e:!i.hideBack&&i.backBlack},!i.hideBack&&i.backBlack?{f:t._imports_2}:{},{g:e.t(i.leftText),h:e.s(o.backTitleStyle),i:e.o(((...e)=>r.clickBack&&r.clickBack(...e))),j:e.t(i.navTitle),k:o.num>0},o.num>0?{l:e.t(o.num)}:{},{m:e.s(o.navTitleStyle),n:e.s(o.navBarStyle)})}]]);wx.createComponent(l);

View File

@@ -15,7 +15,7 @@ Component({
data: { data: {
color: "#858C9A", color: "#858C9A",
selected:0, selected:0,
selectedColor: "#F97316", selectedColor: "#F3C368",
list: [ list: [
{ {
"pagePath": "/pages/index/index", "pagePath": "/pages/index/index",
@@ -29,6 +29,12 @@ Component({
"iconPath": "/static/icon/tabbar/invest.png", "iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png" "selectedIconPath": "/static/icon/tabbar/invest_s.png"
}, },
// {
// "pagePath": "/pages/concept/concept",
// "text": "概念中心",
// "iconPath": "/static/icon/tabbar/concept.png",
// "selectedIconPath": "/static/icon/tabbar/concept_s.png"
// },
{ {
"pagePath": "/pages/mine/mine", "pagePath": "/pages/mine/mine",
"text": "个人中心", "text": "个人中心",

View File

@@ -1,7 +1,7 @@
<!--components/custom-tab-bar/index.wxml--> <!--components/custom-tab-bar/index.wxml-->
<view class="tab-bar"> <view class="tab-bar">
<view wx:for="{{list}}" wx:key="index" class="tab-bar-item {{item.bulge?'bulge':''}}" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="{{item.jump=='nav'?'navigateTo':'switchTab'}}"> <view wx:for="{{list}}" wx:key="index" class="tab-bar-item {{item.bulge?'bulge':''}}" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="{{item.jump=='nav'?'navigateTo':'switchTab'}}">
<image class="image" src="{{selected == index ? item.selectedIconPath : item.iconPath}}" mode="aspectFit"></image> <image class="image" src="{{selected == index ? item.selectedIconPath : item.iconPath}}" mode="heightFix"></image>
<view wx:if="{{item.text}}" class="tab-bar-view" <view wx:if="{{item.text}}" class="tab-bar-view"
style="color: {{selected==index?selectedColor:color}};">{{item.text}}</view> style="color: {{selected==index?selectedColor:color}};">{{item.text}}</view>
</view> </view>

View File

@@ -1,6 +1,6 @@
/* components/custom-tab-bar/index.wxss */ /* components/custom-tab-bar/index.wxss */
.tab-bar { .tab-bar {
background-color: white; background-color: black;
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
@@ -9,7 +9,7 @@
display: flex; display: flex;
padding-bottom: env(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom);
box-sizing: content-box; box-sizing: content-box;
box-shadow: 0 -1px 5rpx 0 #eee; /* box-shadow: 0 -1px 5rpx 0 #eee; */
z-index: 99; z-index: 99;
} }
.tab-bar-item .tab-bar-item
@@ -22,8 +22,8 @@
} }
.tab-bar-item .image { .tab-bar-item .image {
margin: 16rpx 0 8rpx 0; margin: 16rpx 0 8rpx 0;
width: 40rpx; width: auto;
height: 40rpx; height: 41rpx;
} }
.bulge .bulge
{ {

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "",
"usingComponents": {
"nav-bar": "../../components/navBar/navBar",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="1881f0d1-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="timelineTitle fixed" style="{{d}}">{{c}}- 历史时间轴</view><view class="dateStatisticsC fixed" style="{{A}}"><view class="dateC"><view class="yearMonthC flex"><view class="btn" bindtap="{{f}}"><image class="icon" src="{{e}}" mode="widthFix"></image></view><view class="yearMonth flex1"><picker mode="date" fields="month" bindchange="{{h}}">{{g}}</picker></view><view class="btn" bindtap="{{j}}"><image class="icon" src="{{i}}" mode="widthFix"></image></view></view><view class="weekList flex"><view wx:for="{{k}}" wx:for-item="item" wx:key="b" class="item flex1">{{item.a}}</view></view><view class="monthDateList flexWrap"><view wx:for="{{l}}" wx:for-item="item" wx:key="m" class="item flexColumnCenter" bindtap="{{item.n}}"><block wx:if="{{item.a}}"><view class="{{item.e}}">{{item.b}} <view wx:if="{{item.c}}" class="chg">{{item.d}}%</view></view></block><block wx:else><block wx:if="{{item.f}}"><view class="date notCurrentMonth">{{item.g}}</view></block><block wx:else><view class="{{item.l}}">{{item.h}} <view wx:if="{{item.i}}" class="{{item.k}}">{{item.j}}%</view></view></block></block></view></view></view><view class="statisticsC"><view class="date">{{m}}统计</view><view wx:if="{{n}}" class="chgStockNumC flex"><view class="chgC flex flex1"><view class="title">涨跌幅</view><image wx:if="{{o}}" class="icon" src="{{p}}" mode="widthFix"></image><image wx:else class="icon" src="{{q}}" mode="widthFix"></image><view class="{{s}}">{{r}}%</view></view><view class="stockNumC flex flex1"><view class="title">统计股票</view><view class="stockNum">{{t}} 只股票</view></view></view><view class="newsReportC flex"><image class="icon" src="{{v}}" mode="widthFix"></image><text class="news">{{w}} 条新闻 · </text><text class="report" decode> {{x}} 份研报</text></view><view class="list"><view wx:for="{{y}}" wx:for-item="item" wx:key="c" class="item"><view class="flex"><view class="type news">新闻</view><view class="title flex1">{{item.a}}</view></view><view class="content">{{item.b}}</view></view><view wx:for="{{z}}" wx:for-item="item" wx:key="b" class="item"><view class="flex"><view class="type report">研报</view><view class="title flex1">{{item.a}}</view></view><view class="content">坚定看好锂电材料,建议继续加配坚定六氟、添加剂,关注隔膜更加坚定的看好六氟:下游传导如期</view></view></view></view></view></view> <view><nav-bar wx:if="{{a}}" u-i="adc20db2-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="timelineTitle fixed" style="{{d}}">{{c}}- 历史时间轴</view><view class="dateStatisticsC fixed" style="{{A}}"><view class="dateC"><view class="yearMonthC flex"><view class="btn" bindtap="{{f}}"><image class="icon" src="{{e}}" mode="widthFix"></image></view><view class="yearMonth flex1"><picker mode="date" fields="month" bindchange="{{h}}">{{g}}</picker></view><view class="btn" bindtap="{{j}}"><image class="icon" src="{{i}}" mode="widthFix"></image></view></view><view class="weekList flex"><view wx:for="{{k}}" wx:for-item="item" wx:key="b" class="item flex1">{{item.a}}</view></view><view class="monthDateList flexWrap"><view wx:for="{{l}}" wx:for-item="item" wx:key="m" class="item flexColumnCenter" bindtap="{{item.n}}"><block wx:if="{{item.a}}"><view class="{{item.e}}">{{item.b}} <view wx:if="{{item.c}}" class="chg">{{item.d}}%</view></view></block><block wx:else><block wx:if="{{item.f}}"><view class="date notCurrentMonth">{{item.g}}</view></block><block wx:else><view class="{{item.l}}">{{item.h}} <view wx:if="{{item.i}}" class="{{item.k}}">{{item.j}}%</view></view></block></block></view></view></view><view class="statisticsC"><view class="date">{{m}}统计</view><view wx:if="{{n}}" class="chgStockNumC flex"><view class="chgC flex flex1"><view class="title">涨跌幅</view><image wx:if="{{o}}" class="icon" src="{{p}}" mode="widthFix"></image><image wx:else class="icon" src="{{q}}" mode="widthFix"></image><view class="{{s}}">{{r}}%</view></view><view class="stockNumC flex flex1"><view class="title">统计股票</view><view class="stockNum">{{t}} 只股票</view></view></view><view class="newsReportC flex"><image class="icon" src="{{v}}" mode="widthFix"></image><text class="news">{{w}} 条新闻 · </text><text class="report" decode> {{x}} 份研报</text></view><view class="list"><view wx:for="{{y}}" wx:for-item="item" wx:key="c" class="item"><view class="flex"><view class="type news">新闻</view><view class="title flex1">{{item.a}}</view></view><view class="content">{{item.b}}</view></view><view wx:for="{{z}}" wx:for-item="item" wx:key="b" class="item"><view class="flex"><view class="type report">研报</view><view class="title flex1">{{item.a}}</view></view><view class="content">坚定看好锂电材料,建议继续加配坚定六氟、添加剂,关注隔膜更加坚定的看好六氟:下游传导如期</view></view></view></view></view></view>

View File

@@ -0,0 +1 @@
page{background-color:#070707}.topBg{top:0;left:0;width:100%;height:auto}.timelineTitle{background-color:#fff9f5;left:0;right:0;margin:0 25rpx;padding:30rpx 27rpx 0;border-radius:10rpx 10rpx 0 0;font-size:28rpx;font-weight:700;color:#2b2b2b}.dateStatisticsC{background-color:#fff9f5;left:0;right:0;bottom:86rpx;margin:0 25rpx;padding:24rpx 25rpx 0;border-radius:0 0 10rpx 10rpx;overflow-y:scroll}.dateStatisticsC .dateC{background-color:#fff;box-shadow:0 5rpx 10rpx rgba(127,127,127,.1);border-radius:10rpx;padding:30rpx 25rpx 0}.dateStatisticsC .dateC .yearMonthC{background-color:#f7f7f7;height:70rpx;border-radius:35rpx}.dateStatisticsC .dateC .yearMonthC .btn{padding:0 52rpx}.dateStatisticsC .dateC .yearMonthC .btn .icon{width:13rpx;height:auto}.dateStatisticsC .dateC .yearMonthC .yearMonth{font-size:32rpx;font-weight:500;color:#070707;text-align:center}.dateStatisticsC .dateC .weekList .item{margin-right:13rpx;line-height:72rpx;font-size:26rpx;font-weight:500;color:#a7a7a7;text-align:center}.dateStatisticsC .dateC .monthDateList .item{margin-bottom:12rpx;width:calc(100%/7)}.dateStatisticsC .dateC .monthDateList .item .date{background-color:#f8f8f8;padding:4rpx 0;width:calc(100% - 10rpx);height:72rpx;border-radius:10rpx;font-size:26rpx;font-weight:700;color:#2a2a2a;text-align:center}.dateStatisticsC .dateC .monthDateList .item .date .chg{font-size:18rpx}.dateStatisticsC .dateC .monthDateList .item .date .chg.up{color:#ec3440}.dateStatisticsC .dateC .monthDateList .item .date .chg.down{color:#38a169}.dateStatisticsC .dateC .monthDateList .item .date.up{background-color:#ffd6d9}.dateStatisticsC .dateC .monthDateList .item .date.down{background-color:#cef1de}.dateStatisticsC .dateC .monthDateList .item .date.select.up{background-color:#ec3440;color:#fff}.dateStatisticsC .dateC .monthDateList .item .date.select.up .chg{color:#fff}.dateStatisticsC .dateC .monthDateList .item .date.select.down{background-color:#38a169;color:#fff}.dateStatisticsC .dateC .monthDateList .item .date.select.down .chg{color:#fff}.dateStatisticsC .dateC .monthDateList .item .date.notCurrentMonth{background-color:#fcfcfc;color:#999}.dateStatisticsC .statisticsC{background-color:#fff;margin-top:20rpx;padding:28rpx 20rpx 0;border-radius:10rpx}.dateStatisticsC .statisticsC .date{font-size:30rpx;font-weight:500;text-align:center}.dateStatisticsC .statisticsC .chgStockNumC{margin-top:36rpx;padding:0 13rpx 28rpx;border-bottom:solid 1rpx #EDEDED;font-size:26rpx}.dateStatisticsC .statisticsC .chgStockNumC .title{margin-right:18rpx;font-weight:500;color:#94979c}.dateStatisticsC .statisticsC .chgStockNumC .chgC .icon{margin-right:9rpx;width:17rpx;height:auto}.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg{font-weight:700}.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg.up{color:#ec3440}.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg.down{color:#38a169}.dateStatisticsC .statisticsC .chgStockNumC .stockNum{font-weight:700;color:#070707}.dateStatisticsC .statisticsC .newsReportC{padding-top:20rpx;font-size:28rpx;font-weight:700}.dateStatisticsC .statisticsC .newsReportC .icon{margin-right:20rpx;width:24rpx;height:auto}.dateStatisticsC .statisticsC .newsReportC .news{color:#ff7723}.dateStatisticsC .statisticsC .newsReportC .report{color:#333}.dateStatisticsC .statisticsC .list .item{padding:30rpx 0;border-bottom:solid 1rpx #EDEDED}.dateStatisticsC .statisticsC .list .item .type{margin-right:18rpx;padding:0 9rpx;line-height:40rpx;border-radius:5rpx;font-size:22rpx;font-weight:500}.dateStatisticsC .statisticsC .list .item .type.news{background-color:#f2c367;color:#070707}.dateStatisticsC .statisticsC .list .item .type.report{background-color:#3d3f3c;color:#f2c367}.dateStatisticsC .statisticsC .list .item .title{font-size:26rpx;font-weight:700;color:#070707}.dateStatisticsC .statisticsC .list .item .content{margin-top:20rpx;font-size:24rpx;font-weight:500;color:#333;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="59b0aede-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="titleScreenC fixed flex" style="{{f}}"><view class="title flex1">{{c}} - 相关个股</view><view class="screenC flex" bindtap="{{e}}"><view>时间筛选</view><image class="arrow" src="{{d}}" mode="widthFix"></image></view></view><scroll-view direction="vertical" class="stockList fixed" style="{{h}}"><view class="list"><view wx:for="{{g}}" wx:for-item="item" wx:key="i" class="item"><view class="stockInfoC flex" bindtap="{{item.f}}"><view class="titleCodeC"><view class="title">{{item.a}}</view><view class="code">{{item.b}}</view></view><view class="chg flex1">+4.04%</view><view class="industry flex1">食品行业</view><view class="reasonProjectC flex"><view>REASON/项目</view><image wx:if="{{item.c}}" class="arrow expand" src="{{item.d}}" mode="widthFix"></image><image wx:else class="arrow" src="{{item.e}}" mode="widthFix"></image></view></view><view wx:if="{{item.g}}" class="reasonProjectContentC"><view class="reasonC"><text class="title">REASON</text><text>{{item.h}}</text></view><view class="projectC"><text class="title">项目:</text><text>已进入芥末味夏威夷果仁/黑金蒜香茉莉翡翠豆两款产品</text></view></view></view></view></scroll-view><uni-popup wx:if="{{v}}" class="r" u-s="{{['d']}}" u-r="datePopup" u-i="59b0aede-1" bind:__l="__l" u-p="{{v}}"><view class="datePopup"><view class="btnTitleC flex"><view class="btn cancel" bindtap="{{i}}">取消</view><view class="title flex1">交易日期</view><view class="btn confirm" bindtap="{{j}}">确认</view></view><view class="yearMonthC flex"><view class="btn" bindtap="{{l}}"><image class="icon" src="{{k}}" mode="widthFix"></image></view><view class="yearMonth flex1"><picker mode="date" fields="month" bindchange="{{n}}"><view>{{m}}</view></picker></view><view class="btn" bindtap="{{p}}"><image class="icon" src="{{o}}" mode="widthFix"></image></view></view><view class="weekList flex"><view wx:for="{{q}}" wx:for-item="item" wx:key="b" class="item flex1">{{item.a}}</view></view><view class="monthDateList flexWrap"><view wx:for="{{r}}" wx:for-item="item" wx:key="f" class="item flexColumnCenter" bindtap="{{item.g}}"><block wx:if="{{item.a}}"><view class="date select">{{item.b}}</view></block><block wx:else><block wx:if="{{item.c}}"><view class="date notCurrentMonth">{{item.d}}</view></block><block wx:else><view class="date">{{item.e}}</view></block></block></view></view><view class="quickTimeC flexCenter"><view wx:for="{{s}}" wx:for-item="item" wx:key="b" class="item" bindtap="{{item.c}}">{{item.a}}</view></view></view></uni-popup></view> <view><nav-bar wx:if="{{a}}" u-i="0dffb7e7-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="titleScreenC fixed flex" style="{{f}}"><view class="title flex1">{{c}} - 相关个股</view><view class="screenC flex" bindtap="{{e}}"><view>时间筛选</view><image class="arrow" src="{{d}}" mode="widthFix"></image></view></view><scroll-view direction="vertical" class="stockList fixed" style="{{h}}"><view class="list"><view wx:for="{{g}}" wx:for-item="item" wx:key="i" class="item"><view class="stockInfoC flex" bindtap="{{item.f}}"><view class="titleCodeC"><view class="title">{{item.a}}</view><view class="code">{{item.b}}</view></view><view class="chg flex1">+4.04%</view><view class="industry flex1">食品行业</view><view class="reasonProjectC flex"><view>REASON/项目</view><image wx:if="{{item.c}}" class="arrow expand" src="{{item.d}}" mode="widthFix"></image><image wx:else class="arrow" src="{{item.e}}" mode="widthFix"></image></view></view><view wx:if="{{item.g}}" class="reasonProjectContentC"><view class="reasonC"><text class="title">REASON</text><text>{{item.h}}</text></view><view class="projectC"><text class="title">项目:</text><text>已进入芥末味夏威夷果仁/黑金蒜香茉莉翡翠豆两款产品</text></view></view></view></view></scroll-view><uni-popup wx:if="{{v}}" class="r" u-s="{{['d']}}" u-r="datePopup" u-i="0dffb7e7-1" bind:__l="__l" u-p="{{v}}"><view class="datePopup"><view class="btnTitleC flex"><view class="btn cancel" bindtap="{{i}}">取消</view><view class="title flex1">交易日期</view><view class="btn confirm" bindtap="{{j}}">确认</view></view><view class="yearMonthC flex"><view class="btn" bindtap="{{l}}"><image class="icon" src="{{k}}" mode="widthFix"></image></view><view class="yearMonth flex1"><picker mode="date" fields="month" bindchange="{{n}}"><view>{{m}}</view></picker></view><view class="btn" bindtap="{{p}}"><image class="icon" src="{{o}}" mode="widthFix"></image></view></view><view class="weekList flex"><view wx:for="{{q}}" wx:for-item="item" wx:key="b" class="item flex1">{{item.a}}</view></view><view class="monthDateList flexWrap"><view wx:for="{{r}}" wx:for-item="item" wx:key="f" class="item flexColumnCenter" bindtap="{{item.g}}"><block wx:if="{{item.a}}"><view class="date select">{{item.b}}</view></block><block wx:else><block wx:if="{{item.c}}"><view class="date notCurrentMonth">{{item.d}}</view></block><block wx:else><view class="date">{{item.e}}</view></block></block></view></view><view class="quickTimeC flexCenter"><view wx:for="{{s}}" wx:for-item="item" wx:key="b" class="item" bindtap="{{item.c}}">{{item.a}}</view></view></view></uni-popup></view>

View File

@@ -0,0 +1 @@
page{background-color:#070707}.topBg{top:0;left:0;width:100%;height:auto}.titleScreenC{background-color:#fff9f5;left:0;right:0;margin:0 25rpx;padding:22rpx 25rpx 0;border-radius:10rpx 10rpx 0 0}.titleScreenC .title{font-size:28rpx;font-weight:700;color:#2b2b2b}.titleScreenC .screenC{padding:0 20rpx;line-height:42rpx;border-radius:23rpx;border:solid 2rpx #F3C368;font-size:22rpx;color:#e3aa3d}.titleScreenC .screenC .arrow{margin-left:7rpx;width:12rpx;height:auto}.stockList{background-color:#fff9f5;left:0;width:calc(100% - 50rpx);bottom:62rpx;margin:0 25rpx;border-radius:0 0 10rpx 10rpx}.stockList .list{padding:16rpx 25rpx}.stockList .list .item{background-color:#fff;box-shadow:0 5rpx 10rpx rgba(127,127,127,.08);margin-bottom:20rpx;padding:0 20rpx;border-radius:10rpx}.stockList .list .item .stockInfoC{padding:16rpx 0}.stockList .list .item .stockInfoC .titleCodeC .title{font-size:26rpx;font-weight:700;color:#222}.stockList .list .item .stockInfoC .titleCodeC .code{font-size:20rpx;font-weight:500;color:#888}.stockList .list .item .stockInfoC .chg{font-size:24rpx;font-weight:700;text-align:center}.stockList .list .item .stockInfoC .chg.up{color:#ec3440}.stockList .list .item .stockInfoC .chg.down{color:#38a169}.stockList .list .item .stockInfoC .industry{font-size:24rpx;font-weight:500;color:#333;text-align:center}.stockList .list .item .stockInfoC .reasonProjectC{font-size:24rpx;font-weight:500;color:#da9000}.stockList .list .item .stockInfoC .reasonProjectC .arrow{margin-left:10rpx;width:10rpx;height:auto}.stockList .list .item .stockInfoC .reasonProjectC .arrow.expand{margin-left:6rpx;width:14rpx;height:auto}.stockList .list .item .reasonProjectContentC{margin:0 5rpx;border-top:solid 1rpx #F0F0F0;padding:12rpx 9rpx 22rpx;font-size:24rpx;font-weight:500;color:#666}.stockList .list .item .reasonProjectContentC .title{color:#da9000}.stockList .list .item .reasonProjectContentC .projectC{margin-top:6rpx}.datePopup{background-color:#fff;padding-bottom:env(safe-area-inset-bottom);border-radius:20rpx 20rpx 0 0}.datePopup .btnTitleC .btn{padding:20rpx 26rpx;font-size:28rpx;font-weight:500}.datePopup .btnTitleC .btn.cancel{color:#727a8e}.datePopup .btnTitleC .btn.confirm{color:#d79412}.datePopup .btnTitleC .title{font-size:36rpx;font-weight:700;text-align:center}.datePopup .yearMonthC{background-color:#f7f7f7;margin:0 25rpx;height:70rpx;border-radius:35rpx}.datePopup .yearMonthC .btn{padding:0 52rpx}.datePopup .yearMonthC .btn .icon{width:13rpx;height:auto}.datePopup .yearMonthC .yearMonth{font-size:32rpx;font-weight:500;color:#070707;text-align:center}.datePopup .weekList{padding:0 38rpx}.datePopup .weekList .item{margin-right:13rpx;line-height:72rpx;font-size:26rpx;font-weight:500;color:#a7a7a7;text-align:center}.datePopup .monthDateList{padding:0 38rpx}.datePopup .monthDateList .item{margin-bottom:12rpx;width:calc(100%/7)}.datePopup .monthDateList .item .date{background-color:#f8f8f8;width:calc(100% - 10rpx);line-height:64rpx;border-radius:15rpx;font-size:24rpx;font-weight:700;color:#2a2a2a;text-align:center}.datePopup .monthDateList .item .date.select{background-color:#f2c367;color:#fff}.datePopup .monthDateList .item .date.notCurrentMonth{background-color:#fcfcfc;color:#999}.datePopup .quickTimeC{margin-top:16rpx}.datePopup .quickTimeC .item{margin-right:25rpx;width:120rpx;line-height:56rpx;border-radius:30rpx;border:solid 2rpx #4E4E4E;font-size:24rpx;font-weight:500;color:#4e4e4e;text-align:center}.datePopup .quickTimeC .item:last-child{margin-right:0}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";const e=require("../../../common/vendor.js"),r=require("../../../common/assets.js"),t={};if(!Array){e.resolveComponent("navBar")()}Math;const o=e._export_sfc(t,[["render",function(t,o){return{a:e.p({leftText:"历史时间轴",hideNavBg:!0}),b:r._imports_0}}]]);wx.createPage(o);

View File

@@ -0,0 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="5b93cf51-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image></view>

View File

@@ -0,0 +1 @@
page{background-color:#070707}.topBg{top:0;left:0;width:100%;height:auto}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
"use strict";const t=require("../../../common/vendor.js"),e=require("../../../common/assets.js"),n={data:()=>({navH:t.inject("navHeight"),contentTop:"",weekList:["一","二","三","四","五","六","日"],monthDateList:[],selectMonthIndex:0,selectMonth:"",selectDate:""}),onLoad(){this.contentTop=this.navH+70/750*t.inject("windowWidth");let e=new Date,n=e.getFullYear(),o=e.getMonth()+1,s=e.getDate(),a=[];this.selectMonthIndex=240+o-1,this.selectMonth=n+"年"+o+"月";for(var h=n-20;h<n+20;h++)for(var i=0;i<12;i++){let t=new Date(h,i+1,0),e=new Date(h,i+1,0);e.setDate(1);let r=t.getDate(),c=e.getDay()||7,d=[];for(var l=1;l<=r;l++){let t=new Date(h,i+1,0);t.setDate(l);let e=t.getMonth()+1,a=t.getDate(),r=t.getTime(),c=h+"-"+(e>9?e:"0"+e)+"-"+(a>9?a:"0"+a);d.push({date:c,year:h,month:e,day:a,isToday:h==n&&e==o&&a==s,isCurrentMonth:!0,timestamp:r})}for(l=0;l<c-1;l++){let t=h,e=i;i<1&&(t=h-1,e=12);let n=new Date(t,e,0).getDate(),o=new Date(t,e-1,n-l),s=o.getMonth()+1,a=o.getDate(),r=o.getTime(),c=t+"-"+(s>9?s:"0"+s)+"-"+(a>9?a:"0"+a);d.unshift({date:c,year:t,month:s,day:a,isToday:!1,isCurrentMonth:!1,timestamp:r})}let m=new Date(h,i+1,1),D=new Date(m-864e5).getDay()||7;for(l=1;l<8-D;l++){let t=h,e=i;e>11&&(e=0,t++);let n=new Date(t,e+1,l),o=n.getMonth()+1,s=n.getDate(),a=n.getTime(),r=t+"-"+(o>9?o:"0"+o)+"-"+(s>9?s:"0"+s);d.push({date:r,year:t,month:o,day:s,isToday:!1,isCurrentMonth:!1,timestamp:a})}a.push(d)}this.monthDateList=a},methods:{clickPreMonth(){if(this.selectMonthIndex>0){this.selectMonthIndex--;let t=this.monthDateList[this.selectMonthIndex],e="",n="";for(let o of t)if(o.isCurrentMonth){e=o.year,n=o.month;break}this.selectMonth=e+"年"+n+"月"}},clickNextMonth(){if(this.selectMonthIndex<this.monthDateList.length-1){this.selectMonthIndex++;let t=this.monthDateList[this.selectMonthIndex],e="",n="";for(let o of t)if(o.isCurrentMonth){e=o.year,n=o.month;break}this.selectMonth=e+"年"+n+"月"}},monthChange(t){console.log(t);let e=(new Date).getFullYear(),n=t.detail.value,o=parseInt(n.split("-")[0]),s=parseInt(n.split("-")[1]);this.selectMonthIndex=12*(o-(e-20))+s-1,this.selectMonth=o+"年"+s+"月"},clickSelectDate(t){this.selectDate!=t.date&&(this.selectDate=t.date)}}};if(!Array){t.resolveComponent("navBar")()}Math;const o=t._export_sfc(n,[["render",function(n,o,s,a,h,i){return{a:t.p({leftText:"历史时间轴",hideNavBg:!0}),b:e._imports_0$2,c:t.s("top: "+h.navH+"px;"),d:e._imports_1$7,e:t.o((t=>i.clickPreMonth())),f:t.t(h.selectMonth),g:t.o(((...t)=>i.monthChange&&i.monthChange(...t))),h:e._imports_2$8,i:t.o((t=>i.clickNextMonth())),j:t.f(h.weekList,((e,n,o)=>({a:t.t(e),b:n}))),k:t.f(h.monthDateList[h.selectMonthIndex],((e,n,o)=>t.e({a:e.date==h.selectDate},e.date==h.selectDate?{b:t.t(e.day)}:t.e({c:!e.isCurrentMonth},e.isCurrentMonth?{e:t.t(e.day)}:{d:t.t(e.day)}),{f:n,g:t.o((t=>i.clickSelectDate(e)),n)}))),l:e._imports_3$7,m:e._imports_4$6,n:t.s("top: "+h.contentTop+"px;")}}]]);wx.createPage(o);

View File

@@ -1 +0,0 @@
<view><nav-bar wx:if="{{a}}" u-i="1881f0d1-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="timelineTitle fixed" style="{{c}}">电解液添加剂 - 历史时间轴</view><view class="dateStatisticsC fixed" style="{{n}}"><view class="dateC"><view class="yearMonthC flex"><view class="btn" bindtap="{{e}}"><image class="icon" src="{{d}}" mode="widthFix"></image></view><view class="yearMonth flex1"><picker mode="date" fields="month" bindchange="{{g}}">{{f}}</picker></view><view class="btn" bindtap="{{i}}"><image class="icon" src="{{h}}" mode="widthFix"></image></view></view><view class="weekList flex"><view wx:for="{{j}}" wx:for-item="item" wx:key="b" class="item flex1">{{item.a}}</view></view><view class="monthDateList flexWrap"><view wx:for="{{k}}" wx:for-item="item" wx:key="f" class="item flexColumnCenter" bindtap="{{item.g}}"><block wx:if="{{item.a}}"><view class="date select">{{item.b}}</view></block><block wx:else><block wx:if="{{item.c}}"><view class="date notCurrentMonth">{{item.d}}</view></block><block wx:else><view class="date">{{item.e}}</view></block></block></view></view></view><view class="statisticsC"><view class="date">2025-11-10统计</view><view class="chgStockNumC flex"><view class="chgC flex flex1"><view class="title">涨跌幅</view><image class="icon" src="{{l}}" mode="widthFix"></image><view class="chg">+4.66%</view></view><view class="stockNumC flex flex1"><view class="title">涨跌幅</view><view class="stockNum">28 只股票</view></view></view><view class="newsReportC flex"><image class="icon" src="{{m}}" mode="widthFix"></image><text class="news">5 条新闻 · </text><text class="report" decode> 3 份研报</text></view><view class="list"><view class="item"><view class="flex"><view class="type">新闻</view><view class="title flex1">【招商电新】坚定看好锂电材料</view></view><view class="content">坚定看好锂电材料,建议继续加配坚定六氟、添加剂,关注隔膜更加坚定的看好六氟:下游传导如期</view></view></view></view></view></view>

View File

@@ -1 +0,0 @@
page{background-color:#070707}.topBg{top:0;left:0;width:100%;height:auto}.timelineTitle{background-color:#fff9f5;left:0;right:0;margin:0 25rpx;padding:30rpx 27rpx 0;border-radius:10rpx 10rpx 0 0;font-size:28rpx;font-weight:700;color:#2b2b2b}.dateStatisticsC{background-color:#fff9f5;left:0;right:0;bottom:86rpx;margin:0 25rpx;padding:24rpx 25rpx 0;border-radius:0 0 10rpx 10rpx}.dateStatisticsC .dateC{background-color:#fff;box-shadow:0 5rpx 10rpx rgba(127,127,127,.1);border-radius:10rpx;padding:30rpx 25rpx 0}.dateStatisticsC .dateC .yearMonthC{background-color:#f7f7f7;height:70rpx;border-radius:35rpx}.dateStatisticsC .dateC .yearMonthC .btn{padding:0 52rpx}.dateStatisticsC .dateC .yearMonthC .btn .icon{width:13rpx;height:auto}.dateStatisticsC .dateC .yearMonthC .yearMonth{font-size:32rpx;font-weight:500;color:#070707;text-align:center}.dateStatisticsC .dateC .weekList .item{margin-right:13rpx;line-height:72rpx;font-size:26rpx;font-weight:500;color:#a7a7a7;text-align:center}.dateStatisticsC .dateC .monthDateList .item{margin-bottom:12rpx;width:calc(100%/7)}.dateStatisticsC .dateC .monthDateList .item .date{background-color:#f8f8f8;width:calc(100% - 10rpx);line-height:64rpx;border-radius:15rpx;font-size:24rpx;font-weight:700;color:#2a2a2a;text-align:center}.dateStatisticsC .dateC .monthDateList .item .date.select{background-color:#f2c367;color:#fff}.dateStatisticsC .dateC .monthDateList .item .date.notCurrentMonth{background-color:#fcfcfc;color:#999}.dateStatisticsC .statisticsC{background-color:#fff;margin-top:20rpx;padding:28rpx 20rpx 0;border-radius:10rpx}.dateStatisticsC .statisticsC .date{font-size:30rpx;font-weight:500;text-align:center}.dateStatisticsC .statisticsC .chgStockNumC{margin-top:36rpx;padding:0 13rpx 28rpx;border-bottom:solid 1rpx #EDEDED;font-size:26rpx}.dateStatisticsC .statisticsC .chgStockNumC .title{margin-right:18rpx;font-weight:500;color:#94979c}.dateStatisticsC .statisticsC .chgStockNumC .chgC .icon{margin-right:9rpx;width:17rpx;height:auto}.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg{font-weight:700}.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg.up{color:#ec3440}.dateStatisticsC .statisticsC .chgStockNumC .chgC .chg.down{color:#38a169}.dateStatisticsC .statisticsC .chgStockNumC .stockNum{font-weight:700;color:#070707}.dateStatisticsC .statisticsC .newsReportC{padding-top:20rpx;font-size:28rpx;font-weight:700}.dateStatisticsC .statisticsC .newsReportC .icon{margin-right:20rpx;width:24rpx;height:auto}.dateStatisticsC .statisticsC .newsReportC .news{color:#ff7723}.dateStatisticsC .statisticsC .newsReportC .report{color:#333}.dateStatisticsC .statisticsC .list .item{padding:30rpx 0;border-bottom:solid 1rpx #EDEDED}.dateStatisticsC .statisticsC .list .item .type{margin-right:18rpx;line-height:40rpx;border-radius:5rpx;font-size:22rpx;font-weight:500}.dateStatisticsC .statisticsC .list .item .title{font-size:26rpx;font-weight:700;color:#070707}.dateStatisticsC .statisticsC .list .item .content{margin-top:20rpx;font-size:24rpx;font-weight:500;color:#333;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}

View File

@@ -1 +0,0 @@
"use strict";const t=require("../../../common/vendor.js"),e=require("../../../request/api.js"),o=require("../../../common/assets.js"),s={data:()=>({navH:t.inject("navHeight"),listTop:"",conceptId:""}),onLoad(e){this.listTop=this.navH+68/750*t.inject("windowWidth"),e.id&&(this.conceptId=e.id,this.getConceptHotStockData())},methods:{getConceptHotStockData(){e.conceptDetails(this.conceptId,{}).then((t=>{})).catch((t=>{}))}}};if(!Array){t.resolveComponent("navBar")()}Math;const i=t._export_sfc(s,[["render",function(e,s,i,n,c,a){return{a:t.p({leftText:"热门个股",hideNavBg:!0}),b:o._imports_0$2,c:o._imports_1$9,d:t.s("top:"+c.navH+"px;"),e:o._imports_2$10,f:t.s("top:"+c.listTop+"px;")}}]]);wx.createPage(i);

View File

@@ -1 +0,0 @@
<view><nav-bar wx:if="{{a}}" u-i="59b0aede-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="titleScreenC fixed flex" style="{{d}}"><view class="title flex1">食饮公司山姆渠道布局 - 相关个股</view><view class="screenC flex"><view>时间筛选</view><image class="arrow" src="{{c}}" mode="widthFix"></image></view></view><scroll-view direction="vertical" class="stockList fixed" style="{{f}}"><view class="list"><view class="item"><view class="stockInfoC flex"><view class="titleCodeC"><view class="title">甘源食品</view><view class="code">002991</view></view><view class="chg flex1">+4.04%</view><view class="industry flex1">食品行业</view><view class="reasonProjectC flex"><view>REASON/项目</view><image class="arrow" src="{{e}}" mode="widthFix"></image></view></view><view class="reasonProjectContentC"><view class="reasonC"><text class="title">REASON</text><text>山姆渠道销售数据及新品推进情况</text></view><view class="projectC"><text class="title">项目:</text><text>已进入芥末味夏威夷果仁/黑金蒜香茉莉翡翠豆两款产品</text></view></view></view></view></scroll-view></view>

View File

@@ -1 +0,0 @@
page{background-color:#070707}.topBg{top:0;left:0;width:100%;height:auto}.titleScreenC{background-color:#fff9f5;left:0;right:0;margin:0 25rpx;padding:22rpx 25rpx 0;border-radius:10rpx 10rpx 0 0}.titleScreenC .title{font-size:28rpx;font-weight:700;color:#2b2b2b}.titleScreenC .screenC{padding:0 20rpx;line-height:42rpx;border-radius:23rpx;border:solid 2rpx #F3C368;font-size:22rpx;color:#e3aa3d}.titleScreenC .screenC .arrow{margin-left:7rpx;width:12rpx;height:auto}.stockList{background-color:#fff9f5;left:0;width:calc(100% - 50rpx);bottom:62rpx;margin:0 25rpx;border-radius:0 0 10rpx 10rpx}.stockList .list{padding:16rpx 25rpx}.stockList .list .item{background-color:#fff;box-shadow:0 5rpx 10rpx rgba(127,127,127,.08);padding:0 20rpx;border-radius:10rpx}.stockList .list .item .stockInfoC{padding:16rpx 0}.stockList .list .item .stockInfoC .titleCodeC .title{font-size:26rpx;font-weight:700;color:#222}.stockList .list .item .stockInfoC .titleCodeC .code{font-size:20rpx;font-weight:500;color:#888}.stockList .list .item .stockInfoC .chg{font-size:24rpx;font-weight:700;text-align:center}.stockList .list .item .stockInfoC .chg.up{color:#ec3440}.stockList .list .item .stockInfoC .chg.down{color:#38a169}.stockList .list .item .stockInfoC .industry{font-size:24rpx;font-weight:500;color:#333;text-align:center}.stockList .list .item .stockInfoC .reasonProjectC{font-size:24rpx;font-weight:500;color:#da9000}.stockList .list .item .stockInfoC .reasonProjectC .arrow{margin-left:10rpx;width:10rpx;height:auto}.stockList .list .item .reasonProjectContentC{margin:0 5rpx;border-top:solid 1rpx #F0F0F0;padding:12rpx 9rpx 22rpx;font-size:24rpx;font-weight:500;color:#666}.stockList .list .item .reasonProjectContentC .title{color:#da9000}.stockList .list .item .reasonProjectContentC .projectC{margin-top:6rpx}

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,7 @@
"navigationBarTitleText": "uni-app", "navigationBarTitleText": "uni-app",
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"usingComponents": { "usingComponents": {
"nav-bar": "../../components/navBar/navBar",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="42054871-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="tabC fixed" style="{{e}}"><view wx:for="{{d}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view class="{{n}}" style="{{o}}"><view wx:if="{{f}}" class="volumeAmountC flex"><text class="volume">成交量:{{g}}</text><text class="amount">成交金额:{{h}}</text></view><view wx:if="{{i}}" style="width:750rpx;height:400rpx"><l-echart class="r" u-r="chartRef" u-i="42054871-1" bind:__l="__l"></l-echart></view><view class="section">关联描述</view><view class="des">{{k}}<text class="ai">AI合成</text></view><view class="riskTips"> 【风险提示:解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息,团队辛苦编写,未经许可严禁转载。本产品内容内容均不构成投资建议,请投资者注意风险,独立审慎决策。】 </view><view wx:if="{{l}}" class="section">信息来源</view><view class="list"><view wx:for="{{m}}" wx:for-item="item" wx:key="e" class="item"><view class="content">{{item.a}}</view><view class="article">——《{{item.b}}》</view><view class="authorDateC flex"><view class="author flex1">{{item.c}}</view><view class="date">{{item.d}}</view></view></view></view></view></view> <view><nav-bar wx:if="{{a}}" u-i="42054871-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="chartDesC relative" style="{{k}}"><view wx:if="{{c}}" class="tabC"><view wx:for="{{d}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view wx:if="{{e}}" class="volumeAmountC flex"><text class="volume">成交量:{{f}}</text><text class="amount">成交金额:{{g}}</text></view><view wx:if="{{h}}" style="width:700rpx;height:400rpx"><l-echart class="r" u-r="chartRef" u-i="42054871-1" bind:__l="__l"></l-echart></view><view class="section">关联描述</view><view class="des">{{j}}<text class="ai">AI合成</text></view><view class="riskTips"> 【风险提示:解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息,团队辛苦编写,未经许可严禁转载。本产品内容内容均不构成投资建议,请投资者注意风险,独立审慎决策。】 </view></view><view wx:if="{{l}}" class="infoSourceC"><view class="section">信息来源</view><view class="list"><view wx:for="{{m}}" wx:for-item="item" wx:key="e" class="item"><view class="content">{{item.a}}</view><view class="article">——《{{item.b}}》</view><view class="authorDateC flex"><view class="author flex1">{{item.c}}</view><view class="date">{{item.d}}</view></view></view></view></view></view>

View File

@@ -1 +1 @@
.topBg{top:0;left:0;width:100%;height:auto}.tabC{background-color:#fff;margin-top:10rpx;left:0;right:0;border-radius:20rpx 20rpx 0 0}.tabC .item{display:inline-block;padding:0 30rpx;line-height:60rpx;font-size:28rpx;font-weight:500;color:#42485b}.tabC .item.select{font-weight:700;color:#f97316}.tabC .item.select .line{background-color:#f97316;left:calc((100% - 50rpx)/2);bottom:0;width:50rpx;height:2rpx}.contentC{background-color:#fff;left:0;right:0;bottom:0;overflow-y:scroll}.contentC .volumeAmountC{padding:20rpx;font-size:26rpx;color:#333}.contentC .volumeAmountC .volume{margin-right:20rpx}.contentC .section{padding:0 28rpx;line-height:80rpx;font-size:32rpx;font-weight:700;color:#222}.contentC .des{margin:0 25rpx;line-height:1.4rem;font-size:24rpx;font-weight:500;color:#666}.contentC .des .ai{color:#c00000}.contentC .riskTips{margin:20rpx 25rpx 0;padding-bottom:30rpx;line-height:1.4rem;font-size:20rpx;color:#999;border-bottom:solid 1rpx #E4E4E4}.contentC .list{padding:0 25rpx}.contentC .list .item{background-color:#f8f8f8;margin-bottom:20rpx;padding:30rpx 26rpx;border-radius:10rpx}.contentC .list .item .content{font-size:24rpx;font-weight:500;color:#222}.contentC .list .item .article{margin-top:10rpx;font-size:22rpx;font-weight:500;color:#666;text-align:right}.contentC .list .item .authorDateC{margin-top:30rpx;font-size:22rpx;font-weight:500;color:#aaa}.contentC .list .item .authorDateC .author{margin-right:10rpx}.contentC.radius{margin-top:10rpx;border-radius:20rpx 20rpx 0 0} page{background-color:#070707}.topBg{top:0;left:0;width:100%;height:auto}.chartDesC{background:linear-gradient(-30deg,#fff6f0,#fefefe);margin:0 25rpx;padding-top:10rpx;border-radius:10rpx}.chartDesC .tabC .item{display:inline-block;padding:0 25rpx;line-height:60rpx;font-size:28rpx;font-weight:500;color:#42485b}.chartDesC .tabC .item.select{font-weight:700;color:#f3c368}.chartDesC .tabC .item.select .line{background-color:#f3c368;left:calc((100% - 50rpx)/2);bottom:0;width:50rpx;height:2rpx}.chartDesC .volumeAmountC{padding:25rpx;font-size:28rpx;font-weight:700;color:#666}.chartDesC .volumeAmountC .volume{margin-right:30rpx}.chartDesC .section{padding:0 25rpx;line-height:80rpx;font-size:32rpx;font-weight:700;color:#222}.chartDesC .des{margin:0 25rpx;line-height:1.4rem;font-size:24rpx;font-weight:500;color:#666}.chartDesC .des .ai{color:#ec3440}.chartDesC .riskTips{margin:20rpx 25rpx 0;padding-bottom:30rpx;line-height:1.2rem;font-size:22rpx;color:#a2a2a1}.infoSourceC .section{padding:0 25rpx;line-height:80rpx;font-size:27rpx;font-weight:700;color:#f3c368}.infoSourceC .list{padding:0 25rpx}.infoSourceC .list .item{background:linear-gradient(-30deg,#fff6f0,#fefefe);margin-bottom:20rpx;padding:30rpx 26rpx;border-radius:10rpx}.infoSourceC .list .item .content{font-size:24rpx;font-weight:500;color:#222}.infoSourceC .list .item .article{margin-top:10rpx;font-size:22rpx;font-weight:500;color:#666;text-align:right}.infoSourceC .list .item .authorDateC{margin-top:30rpx;font-size:22rpx;font-weight:500;color:#aaa}.infoSourceC .list .item .authorDateC .author{margin-right:10rpx}.contentC.radius{margin-top:10rpx;border-radius:20rpx 20rpx 0 0}

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,7 @@
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"usingComponents": { "usingComponents": {
"nav-bar": "../../components/navBar/navBar",
"ua-markdown": "../../components/ua-markdown/ua-markdown", "ua-markdown": "../../components/ua-markdown/ua-markdown",
"zui-progress-circle": "../../uni_modules/zui-progress-circle/components/zui-progress-circle/zui-progress-circle", "zui-progress-circle": "../../uni_modules/zui-progress-circle/components/zui-progress-circle/zui-progress-circle",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
"use strict";const e=require("../../../common/vendor.js"),t=require("../../../request/api.js"),o=require("../../../utils/util.js"),s=require("../../../common/assets.js"),a={data:()=>({navH:e.inject("navHeight"),eventId:"",contentTop:"",investDetails:null,former:"",categoryList:["背景","推演","相关股票"],selectCategory:0,stockCategoryList:[{title:"全部股票",num:0,bgColor:"#C00000",color:"white"},{title:"大周期",num:0,bgColor:"#305496",color:"white"},{title:"TMT板块",num:0,bgColor:"#FFBF00",color:"white"},{title:"大金融地产",num:0,bgColor:"#FFF4D3"},{title:"大消费",num:0,bgColor:"#CDEEEE"},{title:"公共产业板块",num:0,bgColor:"#DEEBF7"}],accMul:o.accMul}),onLoad(t){this.contentTop=this.navH+.136*e.inject("windowWidth"),t.id&&(this.eventId=t.id,this.getEventDetailsData())},methods:{clickCategoryItem(e){this.selectCategory!=e&&(this.selectCategory=e)},clickLookRelatedStockItem(t){e.index.navigateTo({url:"/pages/index/stockDetails/stockDetails?type=2&code="+t.code+"&des="+t.description+"&name="+t.name})},getEventDetailsData(){t.investEventDetails(this.eventId).then((t=>{if(200==t.code){let e=t.data.detail;for(let t of this.stockCategoryList)t.num=e.sector_stats[t.title];this.investDetails=e,this.former=e.former.replace("<answer>","").replace("</answer>","")}else e.index.showToast({title:t.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){(e.resolveComponent("navBar")+e.resolveComponent("ua-markdown"))()}Math||((()=>"../../../components/navBar/navBar.js")+(()=>"../../../components/ua-markdown/ua-markdown.js"))();const r=e._export_sfc(a,[["render",function(t,o,a,r,c,i){return e.e({a:e.p({leftText:"详情"}),b:s._imports_0,c:e.f(c.categoryList,((t,o,s)=>e.e({a:e.t(t),b:c.selectCategory==o},(c.selectCategory,{}),{c:e.n("item relative "+(c.selectCategory==o?"select":"")),d:o,e:e.o((e=>i.clickCategoryItem(o)),o)}))),d:e.s("top:"+c.navH+"px;"),e:c.investDetails},c.investDetails?e.e({f:0==c.selectCategory},0==c.selectCategory?{g:e.p({source:c.former})}:{},{h:1==c.selectCategory},1==c.selectCategory?{i:e.p({source:c.investDetails.forecast})}:{},{j:2==c.selectCategory},2==c.selectCategory?{k:e.f(c.stockCategoryList,((t,o,s)=>({a:e.t(t.num),b:e.t(t.title),c:e.s("background-color:"+t.bgColor+";color:"+t.color+";"),d:o}))),l:e.f(c.investDetails.related_stocks,((t,o,s)=>e.e({a:e.t(t.code+" "+t.name),b:e.t(c.accMul(t.score,100)),c:t.sw_primary_sector},t.sw_primary_sector?{d:e.t(t.sw_primary_sector)}:{},{e:e.t(t.description),f:o,g:e.o((e=>i.clickLookRelatedStockItem(t)),o)})))}:{},{m:4==c.selectCategory},4==c.selectCategory?{n:e.f(c.investDetails.extracted_concepts,((o,s,a)=>({a:o.first_image,b:e.t(o.name),c:e.t(o.reason),d:s,e:e.o((e=>t.clickConceptItem()),s)})))}:{},{o:e.s("top:"+c.contentTop+"px;")}):{})}]]);wx.createPage(r); "use strict";const e=require("../../../common/vendor.js"),t=require("../../../request/api.js"),o=require("../../../utils/util.js"),c=require("../../../common/assets.js"),i={data:()=>({navH:e.inject("navHeight"),eventId:"",contentTop:"",investDetails:null,former:"",categoryList:["背景","推演","相关股票"],selectCategory:0,stockCategoryList:[{title:"全部股票",num:0,bgColor:"#D82A2A",color:"white"},{title:"大周期",num:0,bgColor:"#3A5D9C",color:"white"},{title:"TMT板块",num:0,bgColor:"#FFBF00",color:"white"},{title:"大金融地产",num:0,bgColor:"#FFF4D3"},{title:"大消费",num:0,bgColor:"#CDEEEE"},{title:"公共产业板块",num:0,bgColor:"#DEEBF7"}],accMul:o.accMul}),onLoad(t){this.contentTop=this.navH+.136*e.inject("windowWidth"),t.id&&(this.eventId=t.id,this.getEventDetailsData())},methods:{clickCategoryItem(e){this.selectCategory!=e&&(this.selectCategory=e)},clickLookRelatedStockItem(t){e.index.navigateTo({url:"/pages/index/stockDetails/stockDetails?type=2&code="+t.code+"&des="+t.description+"&name="+t.name})},getEventDetailsData(){t.investEventDetails(this.eventId).then((t=>{if(200==t.code){let e=t.data.detail;for(let t of this.stockCategoryList)t.num=e.sector_stats[t.title];this.investDetails=e,this.former=e.former.replace("<answer>","").replace("</answer>","")}else e.index.showToast({title:t.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){(e.resolveComponent("navBar")+e.resolveComponent("ua-markdown"))()}Math||((()=>"../../../components/navBar/navBar.js")+(()=>"../../../components/ua-markdown/ua-markdown.js"))();const s=e._export_sfc(i,[["render",function(t,o,i,s,r,a){return e.e({a:e.p({leftText:"事件详情",hideNavBg:!0}),b:c._imports_0,c:e.f(r.categoryList,((t,o,c)=>({a:e.t(t),b:e.n("item relative "+(r.selectCategory==o?"select":"")),c:o,d:e.o((e=>a.clickCategoryItem(o)),o)}))),d:e.s("top:"+r.navH+"px;"),e:r.investDetails},r.investDetails?e.e({f:0==r.selectCategory},0==r.selectCategory?{g:e.p({source:r.former})}:{},{h:1==r.selectCategory},1==r.selectCategory?{i:e.p({source:r.investDetails.forecast})}:{},{j:2==r.selectCategory},2==r.selectCategory?{k:e.f(r.stockCategoryList,((t,o,c)=>({a:e.t(t.num),b:e.t(t.title),c:e.s("background-color:"+t.bgColor+";color:"+t.color+";"),d:o}))),l:e.f(r.investDetails.related_stocks,((t,o,c)=>e.e({a:e.t(t.code+" "+t.name),b:e.t(r.accMul(t.score,100)),c:t.sw_primary_sector},t.sw_primary_sector?{d:e.t(t.sw_primary_sector)}:{},{e:e.t(t.description),f:o,g:e.o((e=>a.clickLookRelatedStockItem(t)),o)})))}:{},{m:3==r.selectCategory},3==r.selectCategory?{n:e.f(t.conceptList,((o,c,i)=>e.e({a:e.t(o.concept),b:o.price_info},o.price_info?{c:e.t(t.getChgRateStr(o.price_info.avg_change_pct)),d:e.n("chg "+(t.getRateUpOrDown(o.price_info.avg_change_pct)?"down":"up"))}:{},{e:o.price_info},o.price_info?{f:e.t(o.stock_count),g:e.n("stockNum "+(t.getRateUpOrDown(o.price_info.avg_change_pct)?"down":"up"))}:{},{h:e.t(o.description),i:e.f(o.stocks.slice(0,3),((t,o,c)=>({a:e.t(t.stock_name),b:o}))),j:e.t(o.stock_count-3),k:e.o((e=>t.clickStockMore(o)),c),l:e.t(o.price_info?o.price_info.trade_date:""),m:e.o((e=>t.clickHistoricalTimeline(o)),c),n:c}))),o:c._imports_1$2}:{},{p:e.s("top:"+r.contentTop+"px;")}):{})}]]);wx.createPage(s);

View File

@@ -1 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="b7e6c0fc-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="categoryC fixed" style="{{d}}"><view wx:for="{{c}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view wx:if="{{e}}" class="contentC fixed" style="{{o}}"><view wx:if="{{f}}" class="former"><ua-markdown wx:if="{{g}}" u-i="b7e6c0fc-1" bind:__l="__l" u-p="{{g}}"/><text class="ai">AI合成</text></view><view wx:if="{{h}}" class="former"><ua-markdown wx:if="{{i}}" u-i="b7e6c0fc-2" bind:__l="__l" u-p="{{i}}"/></view><view wx:if="{{j}}" class="stockC"><view class="stockCategoryList flexWrap"><view wx:for="{{k}}" wx:for-item="item" wx:key="d" class="item flexColumnCenter" style="{{item.c}}"><view class="num">{{item.a}}</view><view class="title">{{item.b}}</view></view></view><view class="stockList"><view wx:for="{{l}}" wx:for-item="item" wx:key="f" class="item" bindtap="{{item.g}}"><view class="titleCorrelationC flex"><view class="title flex1">{{item.a}}</view><view class="correlation">相关度: {{item.b}}%</view></view><view wx:if="{{item.c}}" class="category">{{item.d}}</view><view class="content">{{item.e}}</view></view></view></view><view wx:if="{{m}}"><view class="conceptList"><view wx:for="{{n}}" wx:for-item="item" wx:key="d" class="item relative" bindtap="{{item.e}}"><image class="cover" src="{{item.a}}" mode="aspectFill"></image><view class="infoC absolute"><view class="title">{{item.b}}</view><view class="content relative">{{item.c}} <text class="lookDetails absolute">查看详情</text></view></view></view></view></view></view></view> <view><nav-bar wx:if="{{a}}" u-i="b7e6c0fc-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="categoryC fixed" style="{{d}}"><view wx:for="{{c}}" wx:for-item="item" wx:key="c" class="{{item.b}}" bindtap="{{item.d}}">{{item.a}}</view></view><view wx:if="{{e}}" class="contentC fixed" style="{{p}}"><view wx:if="{{f}}" class="former"><ua-markdown wx:if="{{g}}" u-i="b7e6c0fc-1" bind:__l="__l" u-p="{{g}}"/><text class="ai">AI合成</text></view><view wx:if="{{h}}" class="former"><ua-markdown wx:if="{{i}}" u-i="b7e6c0fc-2" bind:__l="__l" u-p="{{i}}"/></view><view wx:if="{{j}}" class="stockC"><view class="stockCategoryList flexWrap"><view wx:for="{{k}}" wx:for-item="item" wx:key="d" class="item flexColumnCenter" style="{{item.c}}"><view class="num">{{item.a}}</view><view class="title">{{item.b}}</view></view></view><view class="stockList"><view wx:for="{{l}}" wx:for-item="item" wx:key="f" class="item" bindtap="{{item.g}}"><view class="titleCorrelationC flex"><view class="title flex1">{{item.a}}</view><view class="correlation">相关度: {{item.b}}%</view></view><view wx:if="{{item.c}}" class="category">{{item.d}}</view><view class="content">{{item.e}}</view></view></view></view><view wx:if="{{m}}"><view class="conceptList"><view wx:for="{{n}}" wx:for-item="item" wx:key="n" class="item"><view class="titleChgStockNumC flex"><view class="title">{{item.a}}</view><view wx:if="{{item.b}}" class="{{item.d}}">{{item.c}}%</view><view wx:if="{{item.e}}" class="{{item.g}}">{{item.f}} 只股票</view></view><view class="content">{{item.h}}</view><view class="hotStockC flex"><view class="title">热门个股</view><view class="stockList flex"><view wx:for="{{item.i}}" wx:for-item="sitem" wx:key="b" class="stockItem">{{sitem.a}}</view><view class="more" bindtap="{{item.k}}">+{{item.j}}更多</view></view></view><view class="transactionDateHistoryTimeC flex"><view class="transactionDate flex1">交易时间:{{item.l}}</view><view class="historyTimeC flex" bindtap="{{item.m}}"><image class="icon" src="{{o}}" mode="widthFix"></image><view>历史时间轴</view></view></view></view></view></view></view></view>

Some files were not shown because too many files have changed in this diff Show More