12.25 UI调整

This commit is contained in:
尚政杰
2025-12-25 16:07:01 +08:00
parent e24b4000fb
commit 091c1372fd
52 changed files with 350 additions and 328 deletions

View File

@@ -813,6 +813,10 @@
*/
getMemberStatusData()
{
let token = uni.getStorageSync('token')
if (!token) {
return
}
membershipStatus().then(res=>{
if (res.code==200) {
this.memberInfo = res.data
@@ -907,6 +911,7 @@ page
{
font-size: 22rpx;
font-weight: 500;
color: white;
}
}
.rank

View File

@@ -6,10 +6,12 @@
<view class="eventIntroC">
<view class="categoryTitleC">
<view class="category">{{eventDetails.event_type}}</view>
<text class="title">{{eventDetails.event_title}}</text>
<text class="title" @longpress="copyEventTitle()">{{eventDetails.event_title}}</text>
</view>
<view class="eventTime">{{eventDetails.event_created_at.substr(0,16)}}</view>
<view class="eventContent">{{eventDetails.event_desc}}<text class="ai">AI合成</text></view>
<view class="eventContent">
<text user-select>{{eventDetails.event_desc}}<text class="ai">AI合成</text></text>
</view>
<view class="riskTips">
风险提示解析内容由价值前沿人工采集整理自新闻公告研报等公开信息团队辛苦编写未经许可严禁转载本产品内容内容均不构成投资建议请投资者注意风险独立审慎决策
</view>
@@ -195,7 +197,7 @@
</view>
</view>
</uni-popup>
<uni-popup ref="expectScorePopup" type="top" mask-background-color="transparent">
<uni-popup ref="expectScorePopup" type="top" mask-background-color="transparent" :animation="false">
<view class="expectScorePopup relative" :style="'margin-top:'+scoreTop+'px;'">
<image class="arrow absolute" src="/static/icon/home/sortArrow.png" mode="widthFix"></image>
<view class="tips">
@@ -396,6 +398,19 @@
},
methods: {
/**
* 复制标题
*/
copyEventTitle() {
uni.setClipboardData({
data:this.eventDetails.event_title,
success() {
uni.showToast({
title:'复制成功'
})
}
})
},
async init() {
// chart 图表实例不能存在data里
let that = this
@@ -793,6 +808,7 @@ page
line-height: 1.1rem;
}
}
.eventTime
{
margin: 20rpx 25rpx 0;
@@ -803,6 +819,7 @@ page
.eventContent
{
margin: 18rpx 27rpx 0;
word-break: break-all;
font-size: 24rpx;
font-weight: 500;
color: #71675D;
@@ -898,7 +915,7 @@ page
line-height: 1.2rem;
.ai
{
color: #EC3440;
color: #CCCDD1;
}
}
}

View File

@@ -5,7 +5,7 @@
<view class="topC fixed" :style="'top:'+navH+'px;'">
<view class="searchC flex" >
<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:#eeeeee"/>
<input class="flex1" type="text" v-model="keywords" placeholder="搜索股票/话题..." placeholder-style="color:#eeeeee" confirm-type="search" @confirm="clickSearch()"/>
</view>
<view class="screenC flex">
<block v-for="(item,index) in screenCategoryList" :key="index">
@@ -20,12 +20,12 @@
<view class="timeCategoryC">
<view :class="'item '+(selectTimeCategory==index?'select':'')" v-for="(item,index) in timeCategoryList" :key="index" @click="clickTimeCategoryItem(index)">{{item.name}}</view>
</view>
<scroll-view scroll-x :scroll-left="topScrollLeft" class="topCategoryC" id="topCategory">
<!-- <scroll-view scroll-x :scroll-left="topScrollLeft" class="topCategoryC" id="topCategory">
<view :class="'item relative '+(selectTopCategory==index?'select':'')" v-for="(item,index) in stockCategoryList" :key="index" @click="clickTopCategoryItem($event,index)">
{{item.primary_sector}}
<view class="line absolute"></view>
</view>
</scroll-view>
</scroll-view> -->
<!-- <scroll-view v-if="stockCategoryList.length>0&&stockCategoryList[selectTopCategory].sub_sectors.length>0" scroll-x :scroll-left="secondScrollLeft" class="secondCategoryC" id="secondCategory">
<view :class="'item '+(selectSecondCategory==index?'select':'')" v-for="(item,index) in stockCategoryList[selectTopCategory].sub_sectors" :key="index" @click="clickSecondCategoryItem($event,index)">
{{item}}
@@ -382,8 +382,7 @@
},
onLoad() {
this.contentTop = this.navH + (70+74)/750*this.windowWidth
this.listTop = this.contentTop + (22+80+72)/750*this.windowWidth
this.sortListTop = this.navH + (22+80+80)/750*this.windowWidth
this.listTop = this.contentTop + (22+72)/750*this.windowWidth
this.generateDateListData()
Promise.all([this.getEventFilterListData(),this.getIndustryCategoryListData(),this.getStockCategoryListData()]).then(res=>{
this.getEventListData()
@@ -392,15 +391,15 @@
})
},
onReady() {
uni.createSelectorQuery().select('#topCategory').boundingClientRect(rect=>{
this.topScrollWidth = Math.round(rect.width)
}).exec()
uni.createSelectorQuery().select('#secondCategory').boundingClientRect(rect=>{
if(rect)
{
this.secondScrollWidth = Math.round(rect.width)
}
}).exec()
// uni.createSelectorQuery().select('#topCategory').boundingClientRect(rect=>{
// this.topScrollWidth = Math.round(rect.width)
// }).exec()
// uni.createSelectorQuery().select('#secondCategory').boundingClientRect(rect=>{
// if(rect)
// {
// this.secondScrollWidth = Math.round(rect.width)
// }
// }).exec()
},
methods: {
/**
@@ -1213,6 +1212,7 @@ page
input
{
height: 100%;
color: white;
}
}
.screenC

View File

@@ -4,14 +4,14 @@
<navBar leftText="投资日历" :hideNavBg="true" :hideBack="true"></navBar>
<view class="searchC fixed flex" :style="'top:'+navH+'px;'">
<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" confirm-type="search" @confirm="clickSearch()"/>
</view>
<scroll-view scroll-y class="contentC fixed" :style="'top:'+contentTop+'px;'" refresher-enabled :refresher-triggered="isRefreshing" @refresherrefresh="pullDownRefresh()" @scrolltolower="loadMoreData()">
<view class="calendarC">
<view class="todayC flex" >
<view class="todayDateC flex" @click="clickSelectMonth()">
<view class="date">{{selectDate}}</view>
<image class="icon" src="/static/icon/invest/calendar.png" mode="widthFix"></image>
<!-- <image class="icon" src="/static/icon/invest/calendar.png" mode="widthFix"></image> -->
</view>
<view class="flex1"></view>
<view class="today" @click="clickTodayDate()"></view>
@@ -86,12 +86,12 @@
<view class="tabC">
<view :class="'item '+(selectTab==index?'select':'')" v-for="(item,index) in tabList" :key="index" @click="clickTabItem(index)">{{item}}</view>
</view>
<scroll-view scroll-x class="topCategoryC">
<!-- <scroll-view scroll-x class="topCategoryC">
<view :class="'item relative '+(selectTopCategory==index?'select':'')" v-for="(item,index) in stockCategoryList" :key="index" @click="clickTopCategoryItem(index)">
{{item.primary_sector}}
<view v-if="selectTopCategory==index" class="line absolute"></view>
</view>
</scroll-view>
</scroll-view> -->
<view v-if="selectTab==0" class="eventList">
<view class="item" v-for="(item,index) in eventList" :key="index" @click="clickEventItem(item.id)">
<view class="timeStarFollowC flex">
@@ -120,7 +120,7 @@
<view class="percentItem" v-for="(citem,cindex) in item.related_concepts" :key="cindex">
{{citem.name}}
<zui-progress-circle :position="citem.score" :range="[270,630]" :size="26" :ring-width="2" :texture="['#F3C368','#E3E3E3']">
<view class="num">{{citem.score*100}}%</view>
<view class="num">{{accMul(citem.score,100)}}%</view>
</zui-progress-circle>
</view>
</scroll-view>
@@ -182,7 +182,7 @@
<script>
import { inject } from 'vue'
import { stockCategoryList, calendarEventList, calendarDataList, calendarEventCount, } from '@/request/api'
import { getLocaleHourMinute, replaceAnswerLabel } from '@/utils/util'
import { accMul, getLocaleHourMinute, replaceAnswerLabel } from '@/utils/util'
export default {
data() {
@@ -215,7 +215,8 @@
page:1,
loadAll:false,
getLocaleHourMinute:getLocaleHourMinute,
replaceAnswerLabel:replaceAnswerLabel
replaceAnswerLabel:replaceAnswerLabel,
accMul:accMul
}
},
onLoad() {
@@ -301,7 +302,7 @@
}
this.calendarDateList = calendarDateList
this.monthDateList = calendarDateList[this.selectMonthIndex]
this.listTop = this.contentTop + (68+40+96+74+70+74+22)/750*inject('windowWidth')
this.listTop = this.contentTop + (68+40+96+74+70+22)/750*inject('windowWidth')
Promise.all([this.getStockCategoryListData(),this.getCurrentMonthEventCountData()]).then(res=>{
this.getEventListData()
}).catch(error=>{
@@ -614,6 +615,7 @@ page
input
{
height: 100%;
color: white;
}
.line
{
@@ -646,7 +648,7 @@ page
{
font-size: 32rpx;
font-weight: bold;
color: #CCCDD1;
color: #3D3D3D;
.icon
{
margin-left: 16rpx;

View File

@@ -62,7 +62,7 @@
selectInvestIndex:-1,
stockYearList:['新手入门','1年以内','1-3年','3-5年','5-10年','10年以上'],
selectYearIndex:-1,
riskPreferenceList:['保守型','稳健型','保守型'],
riskPreferenceList:['保守型','稳健型','积极型'],
selectRiskIndex:-1,
investmentScaleList:['50万以下','50-100万','100万以上'],
selectScaleIndex:-1,

View File

@@ -5,7 +5,7 @@
<view v-if="userInfo" class="personalInfoC relative flex" :style="'margin-top:'+infoTop+'px;'" @click="clickPersonalInfo()">
<image class="avatar" :src="userInfo.basic_info.avatar_url" mode="aspectFill"></image>
<view class="flex1">
<view class="nickname">{{userInfo.basic_info.username}}</view>
<view class="nickname">{{userInfo.basic_info.nickname}}</view>
<view class="mobile">手机号{{userInfo.basic_info.phone}}</view>
<view v-if="memberInfo&&memberInfo.is_member" class="mobile">{{memberInfo.subscription_type}}会员</view>
</view>
@@ -25,7 +25,7 @@
<view class="title">我的点赞</view>
</view>
</view>
<view class="vipC relative" @click="clickVip()">
<view v-if="memberInfo&&!memberInfo.is_member" class="vipC relative" @click="clickVip()">
<image class="icon" src="/static/image/mine/vipBg.png" mode="widthFix"></image>
</view>
<view class="menuList relative">