1.7 去掉事件详情输入框,个股中心部分模块页面搭建

This commit is contained in:
尚政杰
2026-01-07 09:59:53 +08:00
parent 260fc7bebf
commit f6086bcf7d
63 changed files with 1057 additions and 173 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -2,11 +2,231 @@
<view>
<navBar leftText="平安银行(000001)" :hideNavBg="true"></navBar>
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
<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:#eeeeee" confirm-type="search" @confirm="clickSearch()"/>
</view>
<scroll-view scroll-y class="stockDetailsC fixed" :style="'top:'+contentTop+'px;'">
<view class="basicInfoC">
<view class="categoryLabelC flex">
<view class="category">金融·银行</view>
<view class="">沪深300上证180</view>
</view>
<view class="priceC flex">
<view class="currentChgC">
<view class="current">11.53</view>
<view class="chg">+0.44%</view>
</view>
<view class="priceIndexC">
<view class="flex">
<view class="indexC flex">
<view class="title">今开</view>
<view class="content">11.47</view>
</view>
<view class="indexC flex marginR">
<view class="title">昨收</view>
<view class="content">11.47</view>
</view>
</view>
<view class="flex">
<view class="indexC flex">
<view class="title">最高</view>
<view class="content up">11.58</view>
</view>
<view class="indexC flex marginR">
<view class="title">最低</view>
<view class="content down">11.42</view>
</view>
</view>
</view>
</view>
<view class="section">关键指标</view>
<view class="infoC flex">
<view class="flex flex1">
<view class="title">市盈率 (PE)</view>
<view class="content flex1 important marginR">5.37</view>
</view>
<view class="rightInfoC flex flex1">
<view class="title">流通股本</view>
<view class="content flex1">194.06亿股</view>
</view>
</view>
<view class="infoC flex">
<view class="flex flex1">
<view class="title">流通市值</view>
<view class="content flex1 important marginR">2237.47亿</view>
</view>
<view class="rightInfoC flex flex1">
<view class="title">换手率</view>
<view class="content flex1">0.36%</view>
</view>
</view>
<view class="infoC flex">
<view class="flex flex1">
<view class="title">发行总股本</view>
<view class="content flex1 marginR">194.06亿股</view>
</view>
<view class="rightInfoC flex flex1">
<view class="title">52周波动</view>
<view class="content flex1">10.48-13.33</view>
</view>
</view>
<view class="section">主力动态</view>
<view class="infoC flex">
<view class="flex flex1">
<view class="title">主力净流入</view>
<view class="content flex1 marginR up">+0.10亿</view>
</view>
<view class="rightInfoC flex flex1">
<view class="title">机构持仓</view>
<view class="content flex1 important">23.83%</view>
</view>
</view>
<view class="progressC relative">
<view class="buy absolute"></view>
</view>
<view class="buySaleC flex">
<view class="buy">买入 42%</view>
<view class="sale flex1">卖出 58%</view>
</view>
<view class="infoC flex">
<view class="flex flex1">
<image class="icon" src="/pagesStock/static/icon/establishedTime.png" mode="widthFix"></image>
<view class="title">成立</view>
<view class="content flex1 marginR">1987/12/22</view>
</view>
<view class="rightInfoC flex flex1">
<image class="icon" src="/pagesStock/static/icon/registeredCapital.png" mode="widthFix"></image>
<view class="title">注册资本</view>
<view class="content flex1">194.06亿元</view>
</view>
</view>
<view class="infoC flex">
<view class="flex flex1">
<image class="icon" src="/pagesStock/static/icon/location.png" mode="widthFix"></image>
<view class="title">所在地</view>
<view class="content flex1 marginR">广东 深圳市</view>
</view>
<view class="rightInfoC flex flex1">
<image class="icon" src="/pagesStock/static/icon/visitWebsite.png" mode="widthFix"></image>
<view class="title important">访问逛网</view>
<view class="flex1"></view>
</view>
</view>
<view class="companyInfo">
<view class="title">公司简介</view>
<view class="flex1">深圳发展银行股份有限公司系在对中华人民共和国深圳经济特区内原6家农村信用社进行股份制改造的基础上设立的股份制商业银行...
<text class="expand">展开全文</text>
</view>
</view>
</view>
<view class="otherInfoC">
<scroll-view scroll-x class="tabC">
<view :class="'item '+(selectTab==index?'select':'')" v-for="(item,index) in tabList" :key="index" @click="clickTabItem(index)">{{item.title}}</view>
</scroll-view>
<block v-if="selectTab==0">
<view class="companyFilesList">
<view :class="'item '+(selectCompanyFiles==index?'select':'')" v-for="(item,index) in companyFilesList" :key="index" @click="clickCompanyFilesItem(index)">{{item.title}}</view>
</view>
<view v-if="selectCompanyFiles==2" class="">
</view>
<view v-if="selectCompanyFiles==3" class="businessInfoList">
<view class="section">工商信息</view>
<view class="section">服务机构</view>
<view class="section">主营业务</view>
<view class="section">经营范围</view>
</view>
</block>
</view>
</scroll-view>
<view class="bottomC fixed flex">
<view class="inputC flex1">
<input type="text" v-model="eventComment" placeholder="对比股票..." placeholder-style="color:#666" confirm-type="send" @confirm="sendEventComment()"/>
</view>
<view class="contrastShareC flex">
<view class="item">
<image class="icon" src="/pagesStock/static/icon/contrast.png" mode="heightFix"></image>
<view>对比</view>
</view>
<view class="item" @click="clickComment()">
<image class="icon" src="/pagesStock/static/icon/optional.png" mode="heightFix"></image>
<view>自选</view>
</view>
<view class="item" @click="clickFollow()">
<image class="icon" src="/pagesStock/static/icon/share.png" mode="heightFix"></image>
<view>分享</view>
</view>
</view>
</view>
</view>
</template>
<script setup>
<script >
import { inject } from 'vue'
export default {
data() {
return {
navH:inject('navHeight'),
keywords:'',
contentTop:'',
tabList:[{
title:'公司档案'
},
{
title:'深度分析'
},
{
title:'股票行情'
},
{
title:'财务全景'
},
{
title:'盈利预测'
}],
selectTab:0,
companyFilesList:[{
title:'股权结构'
},
{
title:'管理团队'
},
{
title:'分支机构'
},
{
title:'工商信息'
}],
selectCompanyFiles:0
}
},
onLoad() {
this.contentTop = this.navH + (20+70+30)/750*inject('windowWidth')
},
methods: {
/**
* @param {Object} index
*/
clickTabItem(index)
{
if(this.selectTab!=index) {
this.selectTab = index
}
},
/**
* 点击选择公司档案
* @param {Object} index
*/
clickCompanyFilesItem(index)
{
if(this.selectCompanyFiles!=index) {
this.selectCompanyFiles = index
}
}
}
}
</script>
<style lang="less">
@@ -21,4 +241,295 @@ page
width: 100%;
height: auto;
}
.searchC
{
background-color: #292929B3;
left: 0;
right: 0;
margin: 20rpx 25rpx 0;
padding: 0 25rpx;
height: 70rpx;
border-radius: 35rpx;
font-size: 22rpx;
font-weight: 500;
.icon
{
margin-right: 12rpx;
width: 25rpx;
height: auto;
}
input
{
height: 100%;
color: white;
}
}
.stockDetailsC
{
left: 0;
right: 0;
bottom: calc(20rpx + 70rpx + 20rpx + env(safe-area-inset-bottom));;
.basicInfoC {
background-color: white;
margin: 0 25rpx;
padding: 22rpx 20rpx 40rpx;
border-radius: 10rpx;
.categoryLabelC
{
font-size: 24rpx;
font-weight: 500;
color: #71675D;
.category
{
margin-right: 14rpx;
padding: 0 12rpx;
line-height: 34rpx;
border: solid 1rpx #71675D;
border-radius: 5rpx;
}
}
.priceC
{
margin-top: 10rpx;
padding: 0 6rpx 16rpx;
border-bottom: solid 1rpx #E7E7E7;
font-weight: 500;
.currentChgC
{
margin-right: 40rpx;
color: #EC3440;
.current
{
font-size: 48rpx;
font-weight: 900;
}
.chg
{
font-size: 24rpx;
text-align: center;
}
}
.priceIndexC
{
font-size: 24rpx;
color: #71675D;
.indexC
{
height: 40rpx;
.content.up
{
color: #EC3440;
}
.content.down
{
color: #345423;
}
}
.indexC.marginR
{
margin-left: 80rpx;
}
}
}
.section
{
margin-top: 14rpx;
font-size: 28rpx;
font-weight: bold;
color: #2B2B2B;
}
.infoC
{
height: 40rpx;
font-size: 22rpx;
color: #71675D;
.rightInfoC {
margin-left: 32rpx;
}
.icon
{
margin-right: 15rpx;
width: 26rpx;
height: auto;
}
.title
{
margin-right: 18rpx;
font-weight: 500;
}
.content
{
font-weight: bold;
text-align: right;
}
.title.important,.content.important
{
color: #BB8520;
}
.content.up
{
color: #EC3440;
}
}
.progressC
{
background-color: #345423;
margin: 20rpx 10rpx 0;
height: 10rpx;
border-radius: 5rpx;
.buy
{
background-color: #EC3440;
width: 42%;
height: 100%;
border-radius: 5rpx;
}
}
.buySaleC
{
margin: 10rpx 0;
padding: 0 10rpx 20rpx;
font-size: 22rpx;
font-weight: bold;
border-bottom: solid 1rpx #E7E7E7;
.buy
{
color: #EC3440;
}
.sale
{
color: #345423;
text-align: right;
}
}
.companyInfo
{
display: flex;
margin-top: 16rpx;
font-size: 22rpx;
font-weight: 500;
color: #71675D;
.title
{
margin-right: 10rpx;
font-weight: bold;
}
.expand
{
color: #BB8520;
}
}
}
.otherInfoC
{
background-color: white;
margin: 20rpx 25rpx 0;
border-radius: 10rpx;
.tabC
{
white-space: nowrap;
margin: 0 20rpx;
border-bottom: solid 1rpx #E7E7E7;
.item
{
display: inline-block;
margin-right: 40rpx;
line-height: 70rpx;
font-size: 26rpx;
font-weight: 500;
color: #999;
}
.item.select
{
border-bottom: solid 1rpx#F2C369;
font-size: 28rpx;
font-weight: bold;
color: #2B2B2B;
}
}
.companyFilesList
{
white-space: nowrap;
margin: 22rpx 26rpx 0;
.item
{
display: inline-block;
background-color: #F6F6F6;
margin-right: 20rpx;
padding: 0 12rpx;
line-height: 46rpx;
font-size: 24rpx;
font-weight: 500;
color: #939393;
}
.item.select
{
background-color: #F3C368;
font-weight: bold;
color: #070707;
}
}
.businessInfoList
{
padding: 0 20rpx;
.section
{
font-size: 28rpx;
font-weight: bold;
color: #2B2B2B;
}
.infoC
{
background-color: #FAFAFC;
border-radius: 10rpx;
padding: 20rpx;
.title
{
font-size: 22rpx;
font-weight: 500;
color: #999;
}
}
}
}
}
.bottomC
{
background-color: black;
padding: 20rpx 25rpx calc(20rpx + env(safe-area-inset-bottom));
left: 0;
right: 0;
bottom: 0;
.inputC
{
background-color:#424143;
margin-right: 20rpx;
padding: 0 33rpx;
height: 70rpx;
border-radius: 35rpx;
input
{
height: 100%;
font-size: 26rpx;
font-weight: 500;
}
}
.contrastShareC
{
.item
{
font-size: 24rpx;
font-weight: 500;
color: #FEFAF6;
text-align: center;
.icon
{
margin: 0 30rpx;
width: auto;
height: 26rpx;
}
}
}
}
</style>