2.5 主营业务明细与历史对比表完善,增加非会员弹窗跳转,调整会员页面文字,财务数据模块单季度增加总值展示
@@ -23,6 +23,12 @@ Component({
|
||||
"iconPath": "/static/icon/tabbar/home.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/home_s.png"
|
||||
},
|
||||
// {
|
||||
// "pagePath": "/pages/invest/invest",
|
||||
// "text": "投资日历",
|
||||
// "iconPath": "/static/icon/tabbar/invest.png",
|
||||
// "selectedIconPath": "/static/icon/tabbar/invest_s.png"
|
||||
// },
|
||||
{
|
||||
"pagePath": "/pages/concept/concept",
|
||||
"text": "概念中心",
|
||||
@@ -64,7 +70,7 @@ Component({
|
||||
const index = data.index
|
||||
if(index==3)
|
||||
{
|
||||
//如果是购物车和我的,需要登录
|
||||
//如果是个人中心,需要登录
|
||||
let token = wx.getStorageSync('token')
|
||||
if (!token) {
|
||||
wx.navigateTo({
|
||||
|
||||
@@ -291,6 +291,12 @@
|
||||
"text": "首页",
|
||||
"pagePath": "pages/index/index"
|
||||
},
|
||||
// {
|
||||
// "iconPath": "/static/icon/tabbar/invest.png",
|
||||
// "selectedIconPath": "/static/icon/tabbar/invest_s.png",
|
||||
// "text": "投资日历",
|
||||
// "pagePath": "pages/invest/invest"
|
||||
// },
|
||||
{
|
||||
"iconPath": "/static/icon/tabbar/invest.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
|
||||
|
||||
@@ -761,6 +761,9 @@
|
||||
clickUpgradeAtOnce()
|
||||
{
|
||||
this.clickLater()
|
||||
uni.navigateTo({
|
||||
url:'/pagesMine/vipMeal/vipMeal'
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 点击查看相关概念
|
||||
|
||||
@@ -371,9 +371,9 @@
|
||||
*/
|
||||
clickStockName(code)
|
||||
{
|
||||
uni.navigateTo({
|
||||
url:'/pagesStock/stockCenterDetails/stockCenterDetails?code='+code
|
||||
})
|
||||
// uni.navigateTo({
|
||||
// url:'/pagesStock/stockCenterDetails/stockCenterDetails?code='+code
|
||||
// })
|
||||
},
|
||||
/**
|
||||
* 获取概念相关个股数据
|
||||
|
||||
@@ -496,13 +496,13 @@
|
||||
*/
|
||||
clickStockName(code)
|
||||
{
|
||||
if(code.indexOf('.')>-1)
|
||||
{
|
||||
code = code.split('.')[0]
|
||||
}
|
||||
uni.navigateTo({
|
||||
url:'/pagesStock/stockCenterDetails/stockCenterDetails?code='+code
|
||||
})
|
||||
// if(code.indexOf('.')>-1)
|
||||
// {
|
||||
// code = code.split('.')[0]
|
||||
// }
|
||||
// uni.navigateTo({
|
||||
// url:'/pagesStock/stockCenterDetails/stockCenterDetails?code='+code
|
||||
// })
|
||||
},
|
||||
/**
|
||||
* 点击查看股票详情
|
||||
@@ -543,6 +543,9 @@
|
||||
clickUpgradeAtOnce()
|
||||
{
|
||||
this.clickLater()
|
||||
uni.navigateTo({
|
||||
url:'/pagesMine/vipMeal/vipMeal'
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 点击查看更多个股
|
||||
|
||||
@@ -261,6 +261,11 @@
|
||||
let categoryData = []
|
||||
let valueData = []
|
||||
let open = data[0].open
|
||||
if(data.length>0) {
|
||||
if(data[0].time!='09:30'){
|
||||
data.splice(0,1)
|
||||
}
|
||||
}
|
||||
for (let item of data) {
|
||||
categoryData.push(item.time)
|
||||
let rate = accMul(accDiv(accSub(item.close,open),open).toFixed(4),100)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</view>
|
||||
<view class="vipC relative" @click="clickVip()">
|
||||
<image class="icon" src="/static/image/mine/vipBg.png" mode="widthFix"></image>
|
||||
<view v-if="memberInfo&&memberInfo.is_member" class="absolute tips">{{memberInfo.subscription_type}}会员,有效期至{{memberInfo.member_expire_date}}</view>
|
||||
<view v-if="memberInfo&&memberInfo.is_member" class="absolute tips">{{memberInfo.subscription_type}}会员,{{memberInfo.days_left}}天后到期</view>
|
||||
<view v-else class="absolute tips">成为会员,可以获取更多价值资讯</view>
|
||||
</view>
|
||||
<view class="menuList relative">
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
<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>
|
||||
<view v-if="memberInfo.is_member" class="infoC vip absolute">
|
||||
<view class="title">尊贵的{{memberInfo.subscription_type}}VIP会员</view>
|
||||
<view class="tips">会员有效期至:{{memberInfo.member_expire_date}}</view>
|
||||
<view class="title">尊贵的{{memberInfo.subscription_type}}会员</view>
|
||||
<view class="tips">{{memberInfo.days_left}}天后到期</view>
|
||||
</view>
|
||||
<view v-else class="infoC absolute">
|
||||
<view class="title">价值前沿</view>
|
||||
@@ -108,7 +108,7 @@
|
||||
<view class="bottomTips"> 解锁全部高级功能,让AI成为您的专属投资顾问。</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="lookMealC fixed" @click="clickVipMeal()">查看VIP套餐</view>
|
||||
<view class="lookMealC fixed" @click="clickVipMeal()">查看会员套餐</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
<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>
|
||||
<view v-if="memberInfo.is_member" class="infoC vip absolute">
|
||||
<view class="title">尊贵的{{memberInfo.subscription_type}}VIP会员</view>
|
||||
<view class="tips">会员有效期至:{{memberInfo.member_expire_date}}</view>
|
||||
<view class="title">尊贵的{{memberInfo.subscription_type}}会员</view>
|
||||
<view class="tips">{{memberInfo.days_left}}天后到期</view>
|
||||
</view>
|
||||
<view v-else class="infoC absolute">
|
||||
<view class="title">价值前沿</view>
|
||||
@@ -52,7 +52,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="memberInfo" class="joinVipC fixed" @click="clickJoinVip()">{{memberInfo.is_member?'您已是年度VIP':'立即加入年度VIP'}}</view>
|
||||
<view v-if="memberInfo" class="joinVipC fixed" @click="clickJoinVip()">{{memberInfo.is_member?('您已是'+memberInfo.subscription_type+'会员'):'立即加入年度会员'}}</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -17,11 +17,9 @@
|
||||
</view>
|
||||
<view class="flex" style="padding: 20rpx;">
|
||||
<view class="flex1" style="font-size: 28rpx;">查看详细数据</view>
|
||||
<view
|
||||
style="color: #F2C369; font-size: 22rpx; padding: 2rpx 10rpx; border-radius: 5rpx; border: 1rpx solid #F2C369; text-align: center; margin: 0 10rpx;">
|
||||
<view style="color: #F2C369; font-size: 22rpx; padding: 2rpx 10rpx; border-radius: 5rpx; border: 1rpx solid #F2C369; text-align: center; margin: 0 10rpx;">
|
||||
单季度</view>
|
||||
<view class="flex"
|
||||
style="padding: 3rpx 10rpx;border: 1rpx solid #D2D2D2;">
|
||||
<view class="flex" style="padding: 3rpx 10rpx;border: 1rpx solid #D2D2D2;">
|
||||
<image style="width: 23rpx; height: 23rpx;" src="/pagesStock/static/icon/all-icon.png"
|
||||
mode="widthFix"></image>
|
||||
<view style="margin: 0 10rpx; color: #999999; font-size: 22rpx;">全部</view>
|
||||
@@ -29,7 +27,6 @@
|
||||
mode="widthFix"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="height: 500rpx;">
|
||||
<l-echart ref="chartRef1"></l-echart>
|
||||
</view>
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
</view>
|
||||
<view class="flex" style="font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view class="flex1" style="color: #999999; margin-right: 20rpx;">经营性现金流增长率</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{caculateOperatingFlowRatio()}}%</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{caculateOperatingCashFlowGrowthRate()}}%</view>
|
||||
</view>
|
||||
<view class="flex" style="font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view class="flex1" style="color: #999999; margin-right: 20rpx;">投资性现金流</view>
|
||||
@@ -121,7 +121,7 @@
|
||||
</view>
|
||||
<view class="flex" style="font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view class="flex1" style="color: #999999; margin-right: 20rpx;">合计现金流增长率</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{caculateNetIncreaseRatio()}}%</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{caculateTotalCashFlowGrowthRate()}}%</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -168,11 +168,11 @@
|
||||
<view v-if="incomeStatementList.length>0" style="background-color: #FAFAFC; border-radius: 10rpx; margin: 0 20rpx; padding: 20rpx 0;">
|
||||
<view style="display: flex; align-items: center; justify-content: space-between; font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view class="flex" style="flex: 1; color: #999999; margin-right: 20rpx;">净利润</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{getNumStr(incomeStatementList[0].comprehensive_income.total_comprehensive_income)}}</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{getNumStr(incomeStatementList[0].profit.net_profit)}}</view>
|
||||
</view>
|
||||
<view class="flex" style="font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view class="flex1" style="color: #999999; margin-right: 20rpx;">净利润增长率</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">-1600.69%</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{caculateNetProfitGrowthRate()}}%</view>
|
||||
</view>
|
||||
<view class="flex" style="font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view class="flex1" style="color: #999999; margin-right: 20rpx;">营业总收入</view>
|
||||
@@ -180,7 +180,7 @@
|
||||
</view>
|
||||
<view style="display: flex; align-items: center; justify-content: space-between; font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view style="flex: 1; color: #999999; margin-right: 20rpx;">营业总收入增长率</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">-26.28%</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{caculateRevenueGrowthRate()}}%</view>
|
||||
</view>
|
||||
<view style="display: flex; align-items: center; justify-content: space-between; font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view style="flex: 1; color: #999999; margin-right: 20rpx;">营业利润</view>
|
||||
@@ -188,7 +188,7 @@
|
||||
</view>
|
||||
<view style="display: flex; align-items: center; justify-content: space-between; font-size: 24rpx; font-weight: 500; margin: 20rpx;">
|
||||
<view style="flex: 1; color: #999999; margin-right: 20rpx;">营业利润增长率</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">-201.00%</view>
|
||||
<view style="text-align: right; color: #2A2A2A;">{{caculateRevenueProfitGrowthRate()}}%</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -212,6 +212,8 @@
|
||||
option1:{
|
||||
legend:{
|
||||
show:true,
|
||||
itemWidth:10,
|
||||
itemHeight:10,
|
||||
data:['货币资金','同比(右)']
|
||||
},
|
||||
grid:{
|
||||
@@ -220,13 +222,26 @@
|
||||
top:'5%',
|
||||
bottom:'30%'
|
||||
},
|
||||
xAxis: {
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
data: [],
|
||||
axisLabel:{
|
||||
fontSize:10
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
data: [],
|
||||
axisLine:{
|
||||
show:false,
|
||||
},
|
||||
axisTick:{
|
||||
show:false
|
||||
},
|
||||
axisLabel:{
|
||||
show:false,
|
||||
}
|
||||
}],
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
name:'(亿)',
|
||||
@@ -277,13 +292,26 @@
|
||||
top:'5%',
|
||||
bottom:'30%'
|
||||
},
|
||||
xAxis: {
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
data: [],
|
||||
axisLabel:{
|
||||
fontSize:10,
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
data: [],
|
||||
axisLine:{
|
||||
show:false,
|
||||
},
|
||||
axisTick:{
|
||||
show:false
|
||||
},
|
||||
axisLabel:{
|
||||
show:false,
|
||||
}
|
||||
}],
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
name:'(亿)',
|
||||
@@ -331,14 +359,26 @@
|
||||
top:'5%',
|
||||
bottom:'30%'
|
||||
},
|
||||
xAxis: {
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
data: [],
|
||||
axisLabel:{
|
||||
rotate:45,
|
||||
fontSize:10
|
||||
fontSize:10,
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
data: [],
|
||||
axisLine:{
|
||||
show:false,
|
||||
},
|
||||
axisTick:{
|
||||
show:false
|
||||
},
|
||||
axisLabel:{
|
||||
show:false,
|
||||
}
|
||||
}],
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
name:'(亿)',
|
||||
@@ -432,7 +472,6 @@
|
||||
clickBalanceIndicatorItem(index) {
|
||||
if(this.balanceIndicatorIndex!=index) {
|
||||
this.balanceIndicatorIndex = index
|
||||
let data = []
|
||||
if(index==0) {
|
||||
//货币资金
|
||||
if(this.balanceSingleQuarterAllIndex==0) {
|
||||
@@ -492,7 +531,6 @@
|
||||
* 获取货币基金单季度数据
|
||||
*/
|
||||
getMoneyFundSingleQuarterData() {
|
||||
|
||||
let category = []
|
||||
let currentYear = this.financialBalanceList[0].period.split('-')[0]
|
||||
var currentYearCount = 0
|
||||
@@ -519,7 +557,7 @@
|
||||
for (let item of showDataList) {
|
||||
for (let item1 of category) {
|
||||
let index = showDataList.indexOf(item)
|
||||
let lastItem = showDataList[index+1]
|
||||
let lastItem = this.financialBalanceList[index+1]
|
||||
if(item1+'年一季报'==item.report_type){
|
||||
if(item.assets.current_assets.cash)
|
||||
{
|
||||
@@ -550,31 +588,62 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = []
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i]
|
||||
sum = accAdd(sum,data2[i]?data2[i]:0)
|
||||
sum = accAdd(sum,data3[i]?data3[i]:0)
|
||||
sum = accAdd(sum,data4[i]?data4[i]:0).toFixed(2)
|
||||
if(sum>10000) {
|
||||
sumData.push((sum/10000).toFixed(2)+'万')
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option1.legend.data = ['第一季度','第二季度','第三季度','第四季度']
|
||||
this.option1.xAxis.data = category
|
||||
this.option1.xAxis[0].data = category
|
||||
this.option1.xAxis[1].data = category
|
||||
this.option1.series = [{
|
||||
type: 'bar',
|
||||
name:'第一季度',
|
||||
barWidth:'15%',
|
||||
data: data1,
|
||||
yAxisIndex:0
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第二季度',
|
||||
barWidth:'15%',
|
||||
data: data2,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第三季度',
|
||||
barWidth:'15%',
|
||||
data: data3,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第四季度',
|
||||
barWidth:'15%',
|
||||
data: data4,
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'总值',
|
||||
data: sumData,
|
||||
barWidth:'70%',
|
||||
xAxisIndex:1,
|
||||
yAxisIndex:0,
|
||||
itemStyle:{
|
||||
color:'rgba(0,0,0,0.2)',
|
||||
},
|
||||
label:{
|
||||
show:true,
|
||||
position:'top'
|
||||
}
|
||||
}]
|
||||
},
|
||||
/**
|
||||
@@ -675,7 +744,8 @@
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option1.legend.data = ['货币基金','同比(右)']
|
||||
this.option1.xAxis.data = category
|
||||
this.option1.xAxis[0].data = category
|
||||
this.option1.xAxis[1].data = category
|
||||
let ratioList = []
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item)
|
||||
@@ -814,31 +884,62 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = []
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i]
|
||||
sum = accAdd(sum,data2[i]?data2[i]:0)
|
||||
sum = accAdd(sum,data3[i]?data3[i]:0)
|
||||
sum = accAdd(sum,data4[i]?data4[i]:0).toFixed(2)
|
||||
if(sum>10000) {
|
||||
sumData.push((sum/10000).toFixed(2)+'万')
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option1.legend.data = ['第一季度','第二季度','第三季度','第四季度']
|
||||
this.option1.xAxis.data = category
|
||||
this.option1.xAxis[0].data = category
|
||||
this.option1.xAxis[1].data = category
|
||||
this.option1.series = [{
|
||||
type: 'bar',
|
||||
name:'第一季度',
|
||||
barWidth:'15%',
|
||||
data: data1,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第二季度',
|
||||
barWidth:'15%',
|
||||
data: data2,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第三季度',
|
||||
barWidth:'15%',
|
||||
data: data3,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第四季度',
|
||||
barWidth:'15%',
|
||||
data: data4,
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'总值',
|
||||
data: sumData,
|
||||
barWidth:'70%',
|
||||
xAxisIndex:1,
|
||||
yAxisIndex:0,
|
||||
itemStyle:{
|
||||
color:'rgba(0,0,0,0.2)',
|
||||
},
|
||||
label:{
|
||||
show:true,
|
||||
position:'top'
|
||||
}
|
||||
}]
|
||||
},
|
||||
/**
|
||||
@@ -939,7 +1040,8 @@
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option1.legend.data = ['所有者权益','同比(右)']
|
||||
this.option1.xAxis.data = category
|
||||
this.option1.xAxis[0].data = category
|
||||
this.option1.xAxis[1].data = category
|
||||
let ratioList = []
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item)
|
||||
@@ -977,7 +1079,7 @@
|
||||
}
|
||||
this.option1.series = [{
|
||||
type: 'bar',
|
||||
name:'Q1',
|
||||
name:'第一季度',
|
||||
data: data1,
|
||||
stack:'quarter',
|
||||
yAxisIndex:0,
|
||||
@@ -1020,7 +1122,7 @@
|
||||
/**
|
||||
* 计算经营性现金流增长率
|
||||
*/
|
||||
caculateOperatingFlowGrowthRate() {
|
||||
caculateOperatingCashFlowGrowthRate() {
|
||||
let flow1 = this.cashFlowList[0].operating_activities.net_flow
|
||||
let flow2 = this.cashFlowList[4].operating_activities.net_flow
|
||||
return accMul(accDiv(accSub(flow1,flow2),flow2),100).toFixed(2)
|
||||
@@ -1028,7 +1130,7 @@
|
||||
/**
|
||||
* 计算合计现金流增长率
|
||||
*/
|
||||
caculateNetIncreaseRatio() {
|
||||
caculateTotalCashFlowGrowthRate() {
|
||||
let flow1 = this.cashFlowList[0].cash_changes.net_increase
|
||||
let flow2 = this.cashFlowList[4].cash_changes.net_increase
|
||||
return accMul(accDiv(accSub(flow1,flow2),flow2),100).toFixed(2)
|
||||
@@ -1163,31 +1265,62 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = []
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i]
|
||||
sum = accAdd(sum,data2[i]?data2[i]:0)
|
||||
sum = accAdd(sum,data3[i]?data3[i]:0)
|
||||
sum = accAdd(sum,data4[i]?data4[i]:0).toFixed(2)
|
||||
if(sum>10000) {
|
||||
sumData.push((sum/10000).toFixed(2)+'万')
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.legend.data = ['第一季度','第二季度','第三季度','第四季度']
|
||||
this.option2.xAxis.data = category
|
||||
this.option2.xAxis[0].data = category
|
||||
this.option2.xAxis[1].data = category
|
||||
this.option2.series = [{
|
||||
type: 'bar',
|
||||
name:'第一季度',
|
||||
barWidth:'15%',
|
||||
data: data1,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第二季度',
|
||||
barWidth:'15%',
|
||||
data: data2,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第三季度',
|
||||
barWidth:'15%',
|
||||
data: data3,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第四季度',
|
||||
barWidth:'15%',
|
||||
data: data4,
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'总值',
|
||||
data: sumData,
|
||||
barWidth:'70%',
|
||||
xAxisIndex:1,
|
||||
yAxisIndex:0,
|
||||
itemStyle:{
|
||||
color:'rgba(0,0,0,0.2)',
|
||||
},
|
||||
label:{
|
||||
show:true,
|
||||
position:'top'
|
||||
}
|
||||
}]
|
||||
},
|
||||
/**
|
||||
@@ -1288,7 +1421,7 @@
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.legend.data = ['经营现金流','同比(右)']
|
||||
this.option2.xAxis.data = category
|
||||
this.option2.xAxis[0].data = category
|
||||
let ratioList = []
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item)
|
||||
@@ -1427,31 +1560,62 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = []
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i]
|
||||
sum = accAdd(sum,data2[i]?data2[i]:0)
|
||||
sum = accAdd(sum,data3[i]?data3[i]:0)
|
||||
sum = accAdd(sum,data4[i]?data4[i]:0).toFixed(2)
|
||||
if(sum>10000) {
|
||||
sumData.push((sum/10000).toFixed(2)+'万')
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.legend.data = ['第一季度','第二季度','第三季度','第四季度']
|
||||
this.option2.xAxis.data = category
|
||||
this.option2.xAxis[0].data = category
|
||||
this.option2.xAxis[1].data = category
|
||||
this.option2.series = [{
|
||||
type: 'bar',
|
||||
name:'第一季度',
|
||||
barWidth:'15%',
|
||||
data: data1,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第二季度',
|
||||
barWidth:'15%',
|
||||
data: data2,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第三季度',
|
||||
barWidth:'15%',
|
||||
data: data3,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第四季度',
|
||||
barWidth:'15%',
|
||||
data: data4,
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'总值',
|
||||
data: sumData,
|
||||
barWidth:'70%',
|
||||
xAxisIndex:1,
|
||||
yAxisIndex:0,
|
||||
itemStyle:{
|
||||
color:'rgba(0,0,0,0.2)',
|
||||
},
|
||||
label:{
|
||||
show:true,
|
||||
position:'top'
|
||||
}
|
||||
}]
|
||||
},
|
||||
/**
|
||||
@@ -1551,7 +1715,7 @@
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.xAxis.data = category
|
||||
this.option2.xAxis[0].data = category
|
||||
let ratioList = []
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item)
|
||||
@@ -1690,30 +1854,62 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
this.option2.xAxis.data = category
|
||||
let sumData = []
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i]
|
||||
sum = accAdd(sum,data2[i]?data2[i]:0)
|
||||
sum = accAdd(sum,data3[i]?data3[i]:0)
|
||||
sum = accAdd(sum,data4[i]?data4[i]:0).toFixed(2)
|
||||
if(sum>10000) {
|
||||
sumData.push((sum/10000).toFixed(2)+'万')
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.legend.data = ['第一季度','第二季度','第三季度','第四季度']
|
||||
this.option2.xAxis[0].data = category
|
||||
this.option2.xAxis[1].data = category
|
||||
this.option2.series = [{
|
||||
type: 'bar',
|
||||
name:'第一季度',
|
||||
barWidth:'15%',
|
||||
data: data1,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第二季度',
|
||||
barWidth:'15%',
|
||||
data: data2,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第三季度',
|
||||
barWidth:'15%',
|
||||
data: data3,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第四季度',
|
||||
barWidth:'15%',
|
||||
data: data4,
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'总值',
|
||||
data: sumData,
|
||||
barWidth:'70%',
|
||||
xAxisIndex:1,
|
||||
yAxisIndex:0,
|
||||
itemStyle:{
|
||||
color:'rgba(0,0,0,0.2)',
|
||||
},
|
||||
label:{
|
||||
show:true,
|
||||
position:'top'
|
||||
}
|
||||
}]
|
||||
},
|
||||
/**
|
||||
@@ -1813,7 +2009,7 @@
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.xAxis.data = category
|
||||
this.option2.xAxis[0].data = category
|
||||
let ratioList = []
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item)
|
||||
@@ -1851,7 +2047,7 @@
|
||||
}
|
||||
this.option2.series = [{
|
||||
type: 'bar',
|
||||
name:'Q1',
|
||||
name:'第一季度',
|
||||
data: data1,
|
||||
stack:'quarter',
|
||||
yAxisIndex:0,
|
||||
@@ -2021,7 +2217,20 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
this.option3.xAxis.data = category
|
||||
let sumData = []
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i]
|
||||
sum = accAdd(sum,data2[i]?data2[i]:0)
|
||||
sum = accAdd(sum,data3[i]?data3[i]:0)
|
||||
sum = accAdd(sum,data4[i]?data4[i]:0).toFixed(2)
|
||||
if(sum>10000) {
|
||||
sumData.push((sum/10000).toFixed(2)+'万')
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.legend.data = ['第一季度','第二季度','第三季度','第四季度']
|
||||
this.option3.xAxis[0].data = category
|
||||
this.option3.xAxis[1].data = category
|
||||
this.option3.series = [{
|
||||
type: 'bar',
|
||||
name:'第一季度',
|
||||
@@ -2045,6 +2254,21 @@
|
||||
name:'第四季度',
|
||||
data: data4,
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'总值',
|
||||
data: sumData,
|
||||
barWidth:'70%',
|
||||
xAxisIndex:1,
|
||||
yAxisIndex:0,
|
||||
itemStyle:{
|
||||
color:'rgba(0,0,0,0.2)',
|
||||
},
|
||||
label:{
|
||||
show:true,
|
||||
position:'top'
|
||||
}
|
||||
}]
|
||||
},
|
||||
/**
|
||||
@@ -2144,7 +2368,7 @@
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option3.xAxis.data = category
|
||||
this.option3.xAxis[0].data = category
|
||||
let ratioList = []
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item)
|
||||
@@ -2283,30 +2507,62 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
this.option3.xAxis.data = category
|
||||
let sumData = []
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i]
|
||||
sum = accAdd(sum,data2[i]?data2[i]:0)
|
||||
sum = accAdd(sum,data3[i]?data3[i]:0)
|
||||
sum = accAdd(sum,data4[i]?data4[i]:0).toFixed(2)
|
||||
if(sum>10000) {
|
||||
sumData.push((sum/10000).toFixed(2)+'万')
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.legend.data = ['第一季度','第二季度','第三季度','第四季度']
|
||||
this.option3.xAxis[0].data = category
|
||||
this.option3.xAxis[1].data = category
|
||||
this.option3.series = [{
|
||||
type: 'bar',
|
||||
name:'第一季度',
|
||||
barWidth:'15%',
|
||||
data: data1,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第二季度',
|
||||
barWidth:'15%',
|
||||
data: data2,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第三季度',
|
||||
barWidth:'15%',
|
||||
data: data3,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第四季度',
|
||||
barWidth:'15%',
|
||||
data: data4,
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'总值',
|
||||
data: sumData,
|
||||
barWidth:'70%',
|
||||
xAxisIndex:1,
|
||||
yAxisIndex:0,
|
||||
itemStyle:{
|
||||
color:'rgba(0,0,0,0.2)',
|
||||
},
|
||||
label:{
|
||||
show:true,
|
||||
position:'top'
|
||||
}
|
||||
}]
|
||||
},
|
||||
/**
|
||||
@@ -2406,7 +2662,7 @@
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option3.xAxis.data = category
|
||||
this.option3.xAxis[0].data = category
|
||||
let ratioList = []
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item)
|
||||
@@ -2444,7 +2700,7 @@
|
||||
}
|
||||
this.option3.series = [{
|
||||
type: 'bar',
|
||||
name:'Q1',
|
||||
name:'第一季度',
|
||||
data: data1,
|
||||
stack:'quarter',
|
||||
yAxisIndex:0,
|
||||
@@ -2551,30 +2807,62 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
this.option3.xAxis.data = category
|
||||
let sumData = []
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i]
|
||||
sum = accAdd(sum,data2[i]?data2[i]:0)
|
||||
sum = accAdd(sum,data3[i]?data3[i]:0)
|
||||
sum = accAdd(sum,data4[i]?data4[i]:0).toFixed(2)
|
||||
if(sum>10000) {
|
||||
sumData.push((sum/10000).toFixed(2)+'万')
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option2.legend.data = ['第一季度','第二季度','第三季度','第四季度']
|
||||
this.option3.xAxis[0].data = category
|
||||
this.option3.xAxis[1].data = category
|
||||
this.option3.series = [{
|
||||
type: 'bar',
|
||||
name:'第一季度',
|
||||
barWidth:'15%',
|
||||
data: data1,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第二季度',
|
||||
barWidth:'15%',
|
||||
data: data2,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第三季度',
|
||||
barWidth:'15%',
|
||||
data: data3,
|
||||
yAxisIndex:0
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'第四季度',
|
||||
barWidth:'15%',
|
||||
data: data4,
|
||||
yAxisIndex:0,
|
||||
},
|
||||
{
|
||||
type: 'bar',
|
||||
name:'总值',
|
||||
data: sumData,
|
||||
barWidth:'70%',
|
||||
xAxisIndex:1,
|
||||
yAxisIndex:0,
|
||||
itemStyle:{
|
||||
color:'rgba(0,0,0,0.2)',
|
||||
},
|
||||
label:{
|
||||
show:true,
|
||||
position:'top'
|
||||
}
|
||||
}]
|
||||
},
|
||||
/**
|
||||
@@ -2678,7 +2966,7 @@
|
||||
}else
|
||||
sumData.push(sum)
|
||||
}
|
||||
this.option3.xAxis.data = category
|
||||
this.option3.xAxis[0].data = category
|
||||
let ratioList = []
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item)
|
||||
@@ -2718,7 +3006,7 @@
|
||||
}
|
||||
this.option3.series = [{
|
||||
type: 'bar',
|
||||
name:'Q1',
|
||||
name:'第一季度',
|
||||
data: data1,
|
||||
stack:'quarter',
|
||||
yAxisIndex:0,
|
||||
@@ -2762,17 +3050,25 @@
|
||||
* 计算净利润增长率
|
||||
*/
|
||||
caculateNetProfitGrowthRate() {
|
||||
let flow1 = this.incomeStatementList[0].operating_activities.net_flow
|
||||
let flow2 = this.incomeStatementList[4].operating_activities.net_flow
|
||||
return accMul(accDiv(accSub(flow1,flow2),flow2),100).toFixed(2)
|
||||
let flow1 = this.incomeStatementList[0].profit.net_profit
|
||||
let flow2 = this.incomeStatementList[4].profit.net_profit
|
||||
return accMul(accDiv(accSub(flow1,flow2),Math.abs(flow2)),100).toFixed(2)
|
||||
},
|
||||
/**
|
||||
* 计算营业总收入增长率
|
||||
*/
|
||||
caculateRevenueGrowthRate() {
|
||||
let flow1 = this.incomeStatementList[0].cash_changes.net_increase
|
||||
let flow2 = this.incomeStatementList[4].cash_changes.net_increase
|
||||
return accMul(accDiv(accSub(flow1,flow2),flow2),100).toFixed(2)
|
||||
let flow1 = this.incomeStatementList[0].revenue.total_operating_revenue
|
||||
let flow2 = this.incomeStatementList[4].revenue.total_operating_revenue
|
||||
return accMul(accDiv(accSub(flow1,flow2),Math.abs(flow2)),100).toFixed(2)
|
||||
},
|
||||
/**
|
||||
* 计算营业利润增长率
|
||||
*/
|
||||
caculateRevenueProfitGrowthRate() {
|
||||
let flow1 = this.incomeStatementList[0].profit.operating_profit
|
||||
let flow2 = this.incomeStatementList[4].profit.operating_profit
|
||||
return accMul(accDiv(accSub(flow1,flow2),Math.abs(flow2)),100).toFixed(2)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<view class="label upstream market">份额:{{item.market_share}}%</view>
|
||||
</view>
|
||||
<view class="importanceC flex">
|
||||
<view class="title">影响度</view>
|
||||
<view class="title">重要度</view>
|
||||
<view class="progressBgC flex1">
|
||||
<view class="progress upstream" :style="{width: `${item.importance_score}%`}">
|
||||
</view>
|
||||
@@ -57,7 +57,7 @@
|
||||
<view class="label core market">份额:{{item.market_share}}%</view>
|
||||
</view>
|
||||
<view class="importanceC flex">
|
||||
<view class="title">影响度</view>
|
||||
<view class="title">重要度</view>
|
||||
<view class="progressBgC flex1">
|
||||
<view class="progress core" :style="{width: `${item.importance_score}%`}"></view>
|
||||
</view>
|
||||
@@ -75,7 +75,7 @@
|
||||
<view class="label downstream market">份额:{{item.market_share}}%</view>
|
||||
</view>
|
||||
<view class="importanceC flex">
|
||||
<view class="title">影响度</view>
|
||||
<view class="title">重要度</view>
|
||||
<view class="progressBgC flex1">
|
||||
<view class="progress downstream" :style="{width: `${item.importance_score}%`}"></view>
|
||||
</view>
|
||||
|
||||
@@ -100,7 +100,8 @@
|
||||
},
|
||||
tooltip:{
|
||||
show:true,
|
||||
triggerOn:'mousemove'
|
||||
triggerOn:'mousemove',
|
||||
confine:true,
|
||||
},
|
||||
radar: {
|
||||
indicator: [
|
||||
|
||||
@@ -66,28 +66,48 @@
|
||||
<l-echart ref="chartRef2"></l-echart>
|
||||
</view>
|
||||
<view style="text-align: left; font-size: 26rpx; color: #2B2B2B; font-weight: bold; margin: 20rpx;">
|
||||
主营业务明细与历史对比</view>
|
||||
<view
|
||||
style="display: grid; grid-template-columns: 130rpx repeat(4, 1fr); color: #666666; font-size: 20rpx; font-weight: 500; background-color: #FAFAFC; margin: 20rpx; margin-bottom: 0; padding: 10rpx; box-sizing: border-box;">
|
||||
<view class="flexColumnCenter" v-for="(item, index) in ['业务', '毛利率', '利润', '营收', '营收']" :key="index"
|
||||
style="justify-content: center;"
|
||||
:style="{'text-align': index == 0 ? 'left' : 'center', 'align-items': index == 0 ? 'flex-start' : 'center'}">
|
||||
<view>{{item}}</view>
|
||||
<view v-if="['', '(2025年中报)', '(2025年中报)', '(2025年中报)', '(2024年年报)'][index].length > 0"
|
||||
style="font-size: 18rpx;" :style="{'text-align': index == 0 ? 'left' : 'center'}">
|
||||
{{['', '(2025年中报)', '(2025年中报)', '(2025年中报)', '(2024年年报)'][index]}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
主营业务明细与历史对比</view>
|
||||
<block v-if="productClassificationList.length>0">
|
||||
<view class="table" v-for="(item, index) in productClassificationList[0].products" :key="index"
|
||||
style="display: grid; grid-template-columns: 130rpx repeat(4, 1fr); margin: 0 20rpx; padding: 10rpx;"
|
||||
:style="{'background-color': (index % 2 == 0 ? '#FFFFFF' : '#FAFAFC')}">
|
||||
<view class="item">{{item.content}}</view>
|
||||
<view class="item flexCenter">{{item.profit_margin.toFixed(2)}}%</view>
|
||||
<view class="item flexCenter">{{getNumStr(item.profit)}}</view>
|
||||
<view class="item flexCenter">{{getNumStr(item.revenue)}}</view>
|
||||
<view class="item flexCenter">{{item.content}}</view>
|
||||
<view class="mainBusinessC flex">
|
||||
<view class="businessList">
|
||||
<view class="heading">业务</view>
|
||||
<view class="list">
|
||||
<view class="item flex" v-for="(item, index) in productClassificationList[0].products" :key="index">
|
||||
{{item.content}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view scroll-x class="dataC flex1">
|
||||
<view class="headingList">
|
||||
<view class="heading">
|
||||
<view class="flexColumnCenter">
|
||||
<view>毛利率</view>
|
||||
<view>({{productClassificationList[0].report_type}})</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="heading">
|
||||
<view class="flexColumnCenter">
|
||||
<view>利润</view>
|
||||
<view>({{productClassificationList[0].report_type}})</view>
|
||||
</view>
|
||||
</view>
|
||||
<block v-for="(item,index) in productClassificationList" :key="index">
|
||||
<view class="heading">
|
||||
<view class="flexColumnCenter">
|
||||
<view>营收</view>
|
||||
<view>({{item.report_type}})</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="dataList" >
|
||||
<view class="dataItem" v-for="(item, index) in productClassificationList[0].products" :key="index">
|
||||
<view class="rowItem">{{item.profit_margin?(item.profit_margin.toFixed(2)+'%'):'-'}}</view>
|
||||
<view class="rowItem">{{item.profit?(getNumStr(item.profit)):'-'}}</view>
|
||||
<view class="rowItem" v-for="(pitem,pindex) in productClassificationList" :key="pindex">{{getTableRevenue(item,pitem)}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</block>
|
||||
<view style="height: 80rpx;"></view>
|
||||
@@ -139,9 +159,9 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
dataZoom:[{
|
||||
type:'slider'
|
||||
}],
|
||||
// dataZoom:[{
|
||||
// type:'slider'
|
||||
// }],
|
||||
series: [
|
||||
{
|
||||
type: 'bar',
|
||||
@@ -209,7 +229,6 @@
|
||||
this.barLineInit()
|
||||
},
|
||||
productClassificationList(newValue) {
|
||||
|
||||
let data = newValue[0].products
|
||||
this.option2.title.text = '主营业务构成('+newValue[0].report_type+')'
|
||||
let pieList = []
|
||||
@@ -282,6 +301,26 @@
|
||||
if(value>15) return {text:'良好',color:'gold'};
|
||||
if(value>10) return {text:'一般',color:'orange'};
|
||||
return {text:'较低',color:'red'};
|
||||
},
|
||||
/**
|
||||
* 遍历数组找出对应的营收
|
||||
* @param {Object} pitem
|
||||
*/
|
||||
getTableRevenue(item,pitem)
|
||||
{
|
||||
|
||||
let index = -1
|
||||
for (let item1 of pitem.products) {
|
||||
if(item1.content==item.content)
|
||||
{
|
||||
index = pitem.products.indexOf(item1)
|
||||
}
|
||||
}
|
||||
if(index>-1)
|
||||
{
|
||||
return getNumStr(pitem.products[index].revenue)
|
||||
}else
|
||||
return '-'
|
||||
},
|
||||
itemClick(index) {
|
||||
uni.navigateTo({
|
||||
@@ -305,5 +344,82 @@
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
.mainBusinessC
|
||||
{
|
||||
padding: 0 20rpx;
|
||||
overflow: hidden;
|
||||
.businessList
|
||||
{
|
||||
.heading
|
||||
{
|
||||
background-color: #FAFAFC;
|
||||
padding: 0 20rpx;
|
||||
width: 160rpx;
|
||||
line-height: 80rpx;
|
||||
font-size: 20rpx;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
.list
|
||||
{
|
||||
.item
|
||||
{
|
||||
padding: 0 10rpx;
|
||||
height: 60rpx;
|
||||
font-size: 18rpx;
|
||||
font-weight: 500;
|
||||
color: #666;
|
||||
}
|
||||
.item:nth-child(2n)
|
||||
{
|
||||
background-color: #FAFAFC;
|
||||
}
|
||||
}
|
||||
}
|
||||
.dataC
|
||||
{
|
||||
width: calc(100% - 160rpx);
|
||||
.headingList
|
||||
{
|
||||
white-space: nowrap;
|
||||
.heading
|
||||
{
|
||||
background-color: #FAFAFC;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 160rpx;
|
||||
height: 80rpx;
|
||||
font-size: 20rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
}
|
||||
.dataList
|
||||
{
|
||||
.dataItem
|
||||
{
|
||||
white-space: nowrap;
|
||||
font-size: 20rpx;
|
||||
color: #666;
|
||||
.rowItem
|
||||
{
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
width: 160rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
}
|
||||
.dataItem:nth-child(2n)
|
||||
{
|
||||
.rowItem
|
||||
{
|
||||
background-color: #FAFAFC;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -749,8 +749,7 @@
|
||||
*/
|
||||
clickExpandOrRetractCompanyIntro() {
|
||||
this.isExpandIntro = !this.isExpandIntro
|
||||
},
|
||||
|
||||
},
|
||||
/**
|
||||
* @param {Object} index
|
||||
*/
|
||||
@@ -798,7 +797,10 @@
|
||||
clickInDepthAnalysisItem(index) {
|
||||
if (this.selectInDepthAnalysis != index) {
|
||||
this.selectInDepthAnalysis = index
|
||||
if (index==2) {
|
||||
if(index==0) {
|
||||
this.getComprehensiveAnalysisData()
|
||||
this.getIndustryRankListData()
|
||||
}else if (index==2) {
|
||||
//产业链
|
||||
this.getValueChainAnalysisData()
|
||||
}else if (index==3) {
|
||||
@@ -1051,7 +1053,7 @@
|
||||
}
|
||||
managementTeam(code,{active_only:true}).then(res=>{
|
||||
let data = res.data
|
||||
let arr = ['高管','董事','监事','其他']
|
||||
let arr = ['高管','董事','监事']
|
||||
let list = []
|
||||
for (let item of arr) {
|
||||
list.push({key:item,list:[]})
|
||||
@@ -1085,6 +1087,9 @@
|
||||
}, list);
|
||||
var count = 0
|
||||
for (let item of this.managementList) {
|
||||
// if (item.key=='高管') {
|
||||
// item.key = '其他'
|
||||
// }
|
||||
count += item.list.length
|
||||
}
|
||||
this.isManagementEmpty = count==0
|
||||
|
||||
18
unpackage/dist/build/mp-weixin/app.json
vendored
@@ -70,24 +70,18 @@
|
||||
"text": "首页",
|
||||
"pagePath": "pages/index/index"
|
||||
},
|
||||
{
|
||||
"iconPath": "/static/icon/tabbar/invest.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
|
||||
"text": "投资日历",
|
||||
"pagePath": "pages/invest/invest"
|
||||
},
|
||||
{
|
||||
"iconPath": "/static/icon/tabbar/invest.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
|
||||
"text": "投资",
|
||||
"pagePath": "pages/concept/concept"
|
||||
},
|
||||
{
|
||||
"iconPath": "/static/icon/tabbar/invest.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
|
||||
"text": "个股中心",
|
||||
"pagePath": "pages/geGuCenter/geGuCenter"
|
||||
},
|
||||
{
|
||||
"iconPath": "/static/icon/tabbar/invest.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
|
||||
"text": "投资",
|
||||
"pagePath": "pages/ztfx/ztfx"
|
||||
},
|
||||
{
|
||||
"iconPath": "/static/icon/tabbar/mine.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/mine_s.png",
|
||||
|
||||
@@ -23,24 +23,30 @@ Component({
|
||||
"iconPath": "/static/icon/tabbar/home.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/home_s.png"
|
||||
},
|
||||
{
|
||||
"pagePath": "/pages/invest/invest",
|
||||
"text": "投资日历",
|
||||
"iconPath": "/static/icon/tabbar/invest.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/geGuCenter/geGuCenter",
|
||||
"text": "个股中心",
|
||||
"iconPath": "/static/icon/tabbar/gegu.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/gegu_s.png"
|
||||
},
|
||||
{
|
||||
"pagePath": "/pages/ztfx/ztfx",
|
||||
"text": "涨停分析",
|
||||
"iconPath": "/static/icon/tabbar/zt.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/zt_s.png"
|
||||
},
|
||||
// {
|
||||
// "pagePath": "/pages/geGuCenter/geGuCenter",
|
||||
// "text": "个股中心",
|
||||
// "iconPath": "/static/icon/tabbar/gegu.png",
|
||||
// "selectedIconPath": "/static/icon/tabbar/gegu_s.png"
|
||||
// },
|
||||
// {
|
||||
// "pagePath": "/pages/ztfx/ztfx",
|
||||
// "text": "涨停分析",
|
||||
// "iconPath": "/static/icon/tabbar/zt.png",
|
||||
// "selectedIconPath": "/static/icon/tabbar/zt_s.png"
|
||||
// },
|
||||
{
|
||||
"pagePath": "/pages/mine/mine",
|
||||
"text": "个人中心",
|
||||
@@ -64,7 +70,7 @@ Component({
|
||||
const index = data.index
|
||||
if(index==3)
|
||||
{
|
||||
//如果是购物车和我的,需要登录
|
||||
//如果是个人中心,需要登录
|
||||
let token = wx.getStorageSync('token')
|
||||
if (!token) {
|
||||
wx.navigateTo({
|
||||
|
||||
@@ -1 +1 @@
|
||||
"use strict";const e=require("../../common/vendor.js"),n=require("../../request/api.js"),t=require("../../common/assets.js"),i={data:()=>({menuTop:e.inject("menuTop"),menuH:e.inject("menuHeight"),infoTop:"",userInfo:null,memberInfo:null,menuList:[{icon:"/static/icon/mine/aboutUs.png",title:"关于我们",url:"/pages/mine/web/web?type=1"},{icon:"/static/icon/mine/serviceTerm.png",title:"服务条款",url:"/pages/mine/web/web?type=2"},{icon:"/static/icon/mine/privacyProtocol.png",title:"隐私协议",url:"/pages/mine/web/web?type=3"},{icon:"/static/icon/mine/feedback.png",title:"意见反馈",url:"/pages/mine/feedback/feedback"},{icon:"/static/icon/mine/customerService.png",title:"联系客服"},{icon:"/static/icon/mine/logout.png",title:"退出登录"}]}),onLoad(){this.infoTop=e.inject("navHeight")+32/750*e.inject("windowWidth")},onShow(){this.getUserInfoData(),this.getMemberStatus()},methods:{clickPersonalInfo(){e.index.navigateTo({url:"/pages/mine/basicInfo/basicInfo"})},clickVip(){e.index.navigateTo({url:"/pagesMine/vip/vip"})},clickNumItem(n){0==n?e.index.navigateTo({url:"/pages/mine/commentReply/commentReply"}):1==n?e.index.navigateTo({url:"/pages/mine/followCollect/followCollect"}):e.index.navigateTo({url:"/pages/mine/myLike/myLike"})},clickMenuItem(n,t){n?e.index.navigateTo({url:n}):t==this.menuList.length-2?this.$refs.popup.open():t==this.menuList.length-1&&e.index.showModal({title:"您确定要退出登录么",success(n){n.confirm&&(e.index.removeStorageSync("token"),e.index.switchTab({url:"/pages/index/index"}))}})},getUserInfoData(){n.userInfo().then((n=>{200==n.code?this.userInfo=n.data:e.wx$1.showToast({title:n.message,icon:"none"})})).catch((e=>{}))},getMemberStatus(){n.membershipStatus().then((n=>{200==n.code?this.memberInfo=n.data:e.index.showToast({title:n.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){e.resolveComponent("uni-popup")()}Math;const o=e._export_sfc(i,[["render",function(n,i,o,s,m,c){return e.e({a:t._imports_0,b:e.s("top:"+m.menuTop+"px;line-height:"+m.menuH+"px;"),c:m.userInfo},m.userInfo?e.e({d:m.userInfo.basic_info.avatar_url,e:e.t(m.userInfo.basic_info.nickname),f:e.t(m.userInfo.basic_info.phone),g:m.memberInfo&&m.memberInfo.is_member},m.memberInfo&&m.memberInfo.is_member?{h:e.t(m.memberInfo.subscription_type)}:{},{i:t._imports_1$4,j:e.s("margin-top:"+m.infoTop+"px;"),k:e.o((e=>c.clickPersonalInfo()))}):{},{l:m.userInfo},m.userInfo?{m:e.t(m.userInfo.statistics.total_comments),n:e.o((e=>c.clickNumItem(0))),o:e.t(m.userInfo.statistics.follows_count),p:e.o((e=>c.clickNumItem(1))),q:e.t(m.userInfo.statistics.likes_count),r:e.o((e=>c.clickNumItem(2)))}:{},{s:t._imports_2$5,t:m.memberInfo&&m.memberInfo.is_member},m.memberInfo&&m.memberInfo.is_member?{v:e.t(m.memberInfo.subscription_type),w:e.t(m.memberInfo.member_expire_date)}:{},{x:e.o((e=>c.clickVip())),y:e.f(m.menuList,((n,t,i)=>({a:n.icon,b:e.t(n.title),c:t,d:e.o((e=>c.clickMenuItem(n.url,t)),t)}))),z:t._imports_3$2,A:t._imports_4$3,B:e.sr("popup","dd5840e4-0"),C:e.p({type:"center"})})}]]);wx.createPage(o);
|
||||
"use strict";const e=require("../../common/vendor.js"),n=require("../../request/api.js"),t=require("../../common/assets.js"),i={data:()=>({menuTop:e.inject("menuTop"),menuH:e.inject("menuHeight"),infoTop:"",userInfo:null,memberInfo:null,menuList:[{icon:"/static/icon/mine/aboutUs.png",title:"关于我们",url:"/pages/mine/web/web?type=1"},{icon:"/static/icon/mine/serviceTerm.png",title:"服务条款",url:"/pages/mine/web/web?type=2"},{icon:"/static/icon/mine/privacyProtocol.png",title:"隐私协议",url:"/pages/mine/web/web?type=3"},{icon:"/static/icon/mine/feedback.png",title:"意见反馈",url:"/pages/mine/feedback/feedback"},{icon:"/static/icon/mine/customerService.png",title:"联系客服"},{icon:"/static/icon/mine/logout.png",title:"退出登录"}]}),onLoad(){this.infoTop=e.inject("navHeight")+32/750*e.inject("windowWidth")},onShow(){this.getUserInfoData(),this.getMemberStatus()},methods:{clickPersonalInfo(){e.index.navigateTo({url:"/pages/mine/basicInfo/basicInfo"})},clickVip(){e.index.navigateTo({url:"/pagesMine/vip/vip"})},clickNumItem(n){0==n?e.index.navigateTo({url:"/pages/mine/commentReply/commentReply"}):1==n?e.index.navigateTo({url:"/pages/mine/followCollect/followCollect"}):e.index.navigateTo({url:"/pages/mine/myLike/myLike"})},clickMenuItem(n,t){n?e.index.navigateTo({url:n}):t==this.menuList.length-2?this.$refs.popup.open():t==this.menuList.length-1&&e.index.showModal({title:"您确定要退出登录么",success(n){n.confirm&&(e.index.removeStorageSync("token"),e.index.switchTab({url:"/pages/index/index"}))}})},getUserInfoData(){n.userInfo().then((n=>{200==n.code?this.userInfo=n.data:e.wx$1.showToast({title:n.message,icon:"none"})})).catch((e=>{}))},getMemberStatus(){n.membershipStatus().then((n=>{200==n.code?this.memberInfo=n.data:e.index.showToast({title:n.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){e.resolveComponent("uni-popup")()}Math;const o=e._export_sfc(i,[["render",function(n,i,o,s,m,c){return e.e({a:t._imports_0,b:e.s("top:"+m.menuTop+"px;line-height:"+m.menuH+"px;"),c:m.userInfo},m.userInfo?e.e({d:m.userInfo.basic_info.avatar_url,e:e.t(m.userInfo.basic_info.nickname),f:e.t(m.userInfo.basic_info.phone),g:m.memberInfo&&m.memberInfo.is_member},m.memberInfo&&m.memberInfo.is_member?{h:e.t(m.memberInfo.subscription_type)}:{},{i:t._imports_1$4,j:e.s("margin-top:"+m.infoTop+"px;"),k:e.o((e=>c.clickPersonalInfo()))}):{},{l:m.userInfo},m.userInfo?{m:e.t(m.userInfo.statistics.total_comments),n:e.o((e=>c.clickNumItem(0))),o:e.t(m.userInfo.statistics.follows_count),p:e.o((e=>c.clickNumItem(1))),q:e.t(m.userInfo.statistics.likes_count),r:e.o((e=>c.clickNumItem(2)))}:{},{s:t._imports_2$5,t:m.memberInfo&&m.memberInfo.is_member},m.memberInfo&&m.memberInfo.is_member?{v:e.t(m.memberInfo.subscription_type),w:e.t(m.memberInfo.days_left)}:{},{x:e.o((e=>c.clickVip())),y:e.f(m.menuList,((n,t,i)=>({a:n.icon,b:e.t(n.title),c:t,d:e.o((e=>c.clickMenuItem(n.url,t)),t)}))),z:t._imports_3$2,A:t._imports_4$3,B:e.sr("popup","dd5840e4-0"),C:e.p({type:"center"})})}]]);wx.createPage(o);
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view><image class="topBg absolute" src="{{a}}" mode="widthFix"></image><view class="navTitle fixed" style="{{b}}">个人中心</view><view wx:if="{{c}}" class="personalInfoC relative flex" style="{{j}}" bindtap="{{k}}"><image class="avatar" src="{{d}}" mode="aspectFill"></image><view class="flex1"><view class="nickname">{{e}}</view><view class="mobile">手机号:{{f}}</view><view wx:if="{{g}}" class="mobile">{{h}}会员</view></view><image class="arrow" src="{{i}}" mode="widthFix"></image></view><view wx:if="{{l}}" class="numList relative flex"><view class="item flex1 flexColumnCenter" bindtap="{{n}}"><view class="num">{{m}}</view><view class="title">评论回复</view></view><view class="item flex1 flexColumnCenter" bindtap="{{p}}"><view class="num">{{o}}</view><view class="title">关注收藏</view></view><view class="item flex1 flexColumnCenter" bindtap="{{r}}"><view class="num">{{q}}</view><view class="title">我的点赞</view></view></view><view class="vipC relative" bindtap="{{x}}"><image class="icon" src="{{s}}" mode="widthFix"></image><view wx:if="{{t}}" class="absolute tips">{{v}}会员,有效期至{{w}}</view><view wx:else class="absolute tips">成为会员,可以获取更多价值资讯</view></view><view class="menuList relative"><view class="list"><view wx:for="{{y}}" wx:for-item="item" wx:key="c" class="item relative flex" bindtap="{{item.d}}"><image class="icon" src="{{item.a}}" mode="aspectFit"></image><view class="title flex1">{{item.b}}</view><image class="arrow" src="{{z}}" mode="widthFix"></image></view></view></view><uni-popup wx:if="{{C}}" class="r" u-s="{{['d']}}" u-r="popup" u-i="dd5840e4-0" bind:__l="__l" u-p="{{C}}"><view class="popup"><image class="icon" src="{{A}}" mode="widthFix" show-menu-by-longpress></image><view class="title">企业二维码</view></view></uni-popup></view>
|
||||
<view><image class="topBg absolute" src="{{a}}" mode="widthFix"></image><view class="navTitle fixed" style="{{b}}">个人中心</view><view wx:if="{{c}}" class="personalInfoC relative flex" style="{{j}}" bindtap="{{k}}"><image class="avatar" src="{{d}}" mode="aspectFill"></image><view class="flex1"><view class="nickname">{{e}}</view><view class="mobile">手机号:{{f}}</view><view wx:if="{{g}}" class="mobile">{{h}}会员</view></view><image class="arrow" src="{{i}}" mode="widthFix"></image></view><view wx:if="{{l}}" class="numList relative flex"><view class="item flex1 flexColumnCenter" bindtap="{{n}}"><view class="num">{{m}}</view><view class="title">评论回复</view></view><view class="item flex1 flexColumnCenter" bindtap="{{p}}"><view class="num">{{o}}</view><view class="title">关注收藏</view></view><view class="item flex1 flexColumnCenter" bindtap="{{r}}"><view class="num">{{q}}</view><view class="title">我的点赞</view></view></view><view class="vipC relative" bindtap="{{x}}"><image class="icon" src="{{s}}" mode="widthFix"></image><view wx:if="{{t}}" class="absolute tips">{{v}}会员,{{w}}天后到期</view><view wx:else class="absolute tips">成为会员,可以获取更多价值资讯</view></view><view class="menuList relative"><view class="list"><view wx:for="{{y}}" wx:for-item="item" wx:key="c" class="item relative flex" bindtap="{{item.d}}"><image class="icon" src="{{item.a}}" mode="aspectFit"></image><view class="title flex1">{{item.b}}</view><image class="arrow" src="{{z}}" mode="widthFix"></image></view></view></view><uni-popup wx:if="{{C}}" class="r" u-s="{{['d']}}" u-r="popup" u-i="dd5840e4-0" bind:__l="__l" u-p="{{C}}"><view class="popup"><image class="icon" src="{{A}}" mode="widthFix" show-menu-by-longpress></image><view class="title">企业二维码</view></view></uni-popup></view>
|
||||
@@ -1 +1 @@
|
||||
"use strict";const e=require("../../common/vendor.js"),i=require("../../request/api.js"),m=require("../../common/assets.js"),t={data:()=>({navH:e.inject("navHeight"),memberInfo:null,questionList:["信息纷杂难辨真伪?","信息纷杂难辨真伪?","无法把握宏观趋势与行业动向?"],privilegeList:[{icon:"/pagesMine/static/icon/vip/depthReport.png",icon_v:"/pagesMine/static/icon/vip/depthReport_v.png",title:"深度研报",tips:"行业/公司独家分析"},{icon:"/pagesMine/static/icon/vip/strategicInsight.png",icon_v:"/pagesMine/static/icon/vip/strategicInsight_v.png",title:"策略洞察",tips:"赛道趋势+拐点信号"},{icon:"/pagesMine/static/icon/vip/dataTool.png",icon_v:"/pagesMine/static/icon/vip/dataTool_v.png",title:"数据工具",tips:"行业/公司独家分析"},{icon:"/pagesMine/static/icon/vip/dataTool.png",icon_v:"/pagesMine/static/icon/vip/intelligentScreening_v.png",title:"智能筛选",tips:"按需定制标的列表"},{icon:"/pagesMine/static/icon/vip/decisionSupport.png",icon_v:"/pagesMine/static/icon/vip/decisionSupport_v.png",title:"决策辅助",tips:"关键因子评分系统"},{icon:"/pagesMine/static/icon/vip/expertMeeting.png",icon_v:"/pagesMine/static/icon/vip/expertMeeting_v.png",title:"专家闭门会",tips:"深度交流机会"},{icon:"/pagesMine/static/icon/vip/dailyReport.png",icon_v:"/pagesMine/static/icon/vip/dailyReport_v.png",title:"日报周报",tips:"研判速递、节奏掌控"},{icon:"/pagesMine/static/icon/vip/specialColumn.png",icon_v:"/pagesMine/static/icon/vip/specialColumn_v.png",title:"专题专栏",tips:"核心团队观点集结"},{icon:"/pagesMine/static/icon/vip/continuouslyUnlock.png",icon_v:"/pagesMine/static/icon/vip/continuouslyUnlock_v.png",title:"持续解锁",tips:"不定期上线新功能"}]}),onLoad(){this.getMemberStatus()},methods:{clickVipMeal(){e.index.navigateTo({url:"/pagesMine/vipMeal/vipMeal"})},getMemberStatus(){i.membershipStatus().then((i=>{200==i.code?this.memberInfo=i.data:e.index.showToast({title:i.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){e.resolveComponent("navBar")()}Math;const n=e._export_sfc(t,[["render",function(i,t,n,o,s,r){return e.e({a:e.p({leftText:"会员中心"}),b:m._imports_0,c:s.memberInfo},s.memberInfo?e.e({d:s.memberInfo.is_member},s.memberInfo.is_member?{e:m._imports_1$10}:{f:m._imports_2$10},{g:s.memberInfo.is_member},s.memberInfo.is_member?{h:e.t(s.memberInfo.subscription_type),i:e.t(s.memberInfo.member_expire_date)}:{},{j:s.memberInfo.is_member},s.memberInfo.is_member?{k:m._imports_3$9}:{l:m._imports_4$8},{m:s.memberInfo.is_member},s.memberInfo.is_member?{n:m._imports_5$4}:{o:m._imports_6$2},{p:e.n("impormant "+(s.memberInfo.is_member?"vip":"")),q:s.memberInfo.is_member},s.memberInfo.is_member?{r:m._imports_7$1}:{s:m._imports_8$2},{t:s.memberInfo.is_member},s.memberInfo.is_member?{v:m._imports_9$3}:{w:m._imports_10$2},{x:e.n("impormant "+(s.memberInfo.is_member?"vip":"")),y:e.n("impormant "+(s.memberInfo.is_member?"vip":"")),z:s.memberInfo.is_member},s.memberInfo.is_member?{A:m._imports_11$3}:{B:m._imports_12$3},{C:s.memberInfo.is_member},s.memberInfo.is_member?{D:m._imports_13$2}:{E:m._imports_14$2},{F:m._imports_15$1,G:e.f(s.questionList,((i,m,t)=>({a:e.t(i),b:m}))),H:e.n("item "+(s.memberInfo.is_member?"vip":"")),I:s.memberInfo.is_member},s.memberInfo.is_member?{J:m._imports_3$9}:{K:m._imports_4$8},{L:s.memberInfo.is_member},s.memberInfo.is_member?{M:m._imports_5$4}:{N:m._imports_6$2},{O:m._imports_16$1,P:s.memberInfo.is_member},s.memberInfo.is_member?{Q:m._imports_3$9}:{R:m._imports_4$8},{S:s.memberInfo.is_member},s.memberInfo.is_member?{T:m._imports_5$4}:{},{U:m._imports_6$2,V:m._imports_17,W:s.memberInfo.is_member},s.memberInfo.is_member?{X:m._imports_3$9}:{Y:m._imports_4$8},{Z:s.memberInfo.is_member},s.memberInfo.is_member?{aa:m._imports_5$4}:{ab:m._imports_6$2},{ac:e.f(s.privilegeList,((i,m,t)=>({a:s.memberInfo.is_member?i.icon_v:i.icon,b:e.t(i.title),c:e.t(i.tips),d:m}))),ad:e.n("privilegeList flexWrap "+(s.memberInfo.is_member?"vip":"")),ae:e.s("margin-top:"+s.navH+"px;")}):{},{af:e.o((e=>r.clickVipMeal()))})}]]);wx.createPage(n);
|
||||
"use strict";const e=require("../../common/vendor.js"),i=require("../../request/api.js"),m=require("../../common/assets.js"),t={data:()=>({navH:e.inject("navHeight"),memberInfo:null,questionList:["信息纷杂难辨真伪?","信息纷杂难辨真伪?","无法把握宏观趋势与行业动向?"],privilegeList:[{icon:"/pagesMine/static/icon/vip/depthReport.png",icon_v:"/pagesMine/static/icon/vip/depthReport_v.png",title:"深度研报",tips:"行业/公司独家分析"},{icon:"/pagesMine/static/icon/vip/strategicInsight.png",icon_v:"/pagesMine/static/icon/vip/strategicInsight_v.png",title:"策略洞察",tips:"赛道趋势+拐点信号"},{icon:"/pagesMine/static/icon/vip/dataTool.png",icon_v:"/pagesMine/static/icon/vip/dataTool_v.png",title:"数据工具",tips:"行业/公司独家分析"},{icon:"/pagesMine/static/icon/vip/dataTool.png",icon_v:"/pagesMine/static/icon/vip/intelligentScreening_v.png",title:"智能筛选",tips:"按需定制标的列表"},{icon:"/pagesMine/static/icon/vip/decisionSupport.png",icon_v:"/pagesMine/static/icon/vip/decisionSupport_v.png",title:"决策辅助",tips:"关键因子评分系统"},{icon:"/pagesMine/static/icon/vip/expertMeeting.png",icon_v:"/pagesMine/static/icon/vip/expertMeeting_v.png",title:"专家闭门会",tips:"深度交流机会"},{icon:"/pagesMine/static/icon/vip/dailyReport.png",icon_v:"/pagesMine/static/icon/vip/dailyReport_v.png",title:"日报周报",tips:"研判速递、节奏掌控"},{icon:"/pagesMine/static/icon/vip/specialColumn.png",icon_v:"/pagesMine/static/icon/vip/specialColumn_v.png",title:"专题专栏",tips:"核心团队观点集结"},{icon:"/pagesMine/static/icon/vip/continuouslyUnlock.png",icon_v:"/pagesMine/static/icon/vip/continuouslyUnlock_v.png",title:"持续解锁",tips:"不定期上线新功能"}]}),onLoad(){this.getMemberStatus()},methods:{clickVipMeal(){e.index.navigateTo({url:"/pagesMine/vipMeal/vipMeal"})},getMemberStatus(){i.membershipStatus().then((i=>{200==i.code?this.memberInfo=i.data:e.index.showToast({title:i.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){e.resolveComponent("navBar")()}Math;const n=e._export_sfc(t,[["render",function(i,t,n,o,s,r){return e.e({a:e.p({leftText:"会员中心"}),b:m._imports_0,c:s.memberInfo},s.memberInfo?e.e({d:s.memberInfo.is_member},s.memberInfo.is_member?{e:m._imports_1$10}:{f:m._imports_2$10},{g:s.memberInfo.is_member},s.memberInfo.is_member?{h:e.t(s.memberInfo.subscription_type),i:e.t(s.memberInfo.days_left)}:{},{j:s.memberInfo.is_member},s.memberInfo.is_member?{k:m._imports_3$9}:{l:m._imports_4$8},{m:s.memberInfo.is_member},s.memberInfo.is_member?{n:m._imports_5$4}:{o:m._imports_6$2},{p:e.n("impormant "+(s.memberInfo.is_member?"vip":"")),q:s.memberInfo.is_member},s.memberInfo.is_member?{r:m._imports_7$1}:{s:m._imports_8$2},{t:s.memberInfo.is_member},s.memberInfo.is_member?{v:m._imports_9$3}:{w:m._imports_10$2},{x:e.n("impormant "+(s.memberInfo.is_member?"vip":"")),y:e.n("impormant "+(s.memberInfo.is_member?"vip":"")),z:s.memberInfo.is_member},s.memberInfo.is_member?{A:m._imports_11$3}:{B:m._imports_12$3},{C:s.memberInfo.is_member},s.memberInfo.is_member?{D:m._imports_13$2}:{E:m._imports_14$2},{F:m._imports_15$1,G:e.f(s.questionList,((i,m,t)=>({a:e.t(i),b:m}))),H:e.n("item "+(s.memberInfo.is_member?"vip":"")),I:s.memberInfo.is_member},s.memberInfo.is_member?{J:m._imports_3$9}:{K:m._imports_4$8},{L:s.memberInfo.is_member},s.memberInfo.is_member?{M:m._imports_5$4}:{N:m._imports_6$2},{O:m._imports_16$1,P:s.memberInfo.is_member},s.memberInfo.is_member?{Q:m._imports_3$9}:{R:m._imports_4$8},{S:s.memberInfo.is_member},s.memberInfo.is_member?{T:m._imports_5$4}:{},{U:m._imports_6$2,V:m._imports_17,W:s.memberInfo.is_member},s.memberInfo.is_member?{X:m._imports_3$9}:{Y:m._imports_4$8},{Z:s.memberInfo.is_member},s.memberInfo.is_member?{aa:m._imports_5$4}:{ab:m._imports_6$2},{ac:e.f(s.privilegeList,((i,m,t)=>({a:s.memberInfo.is_member?i.icon_v:i.icon,b:e.t(i.title),c:e.t(i.tips),d:m}))),ad:e.n("privilegeList flexWrap "+(s.memberInfo.is_member?"vip":"")),ae:e.s("margin-top:"+s.navH+"px;")}):{},{af:e.o((e=>r.clickVipMeal()))})}]]);wx.createPage(n);
|
||||
|
||||
@@ -1 +1 @@
|
||||
"use strict";const e=require("../../common/vendor.js"),m=require("../../request/api.js"),r=require("../../common/assets.js"),t={data:()=>({navH:e.inject("navHeight"),memberInfo:null,privilegeList:["事件关联股票深度分析","历史事件智能对比复盘","事件概念关联与挖掘","概念板块个股追踪","概念深深度研报与解读","个股异动实时预警","事件传导链路智能分析","概念演变时间轴追溯","个股全方位深度研究","价小前投研助手无限使用","新功能优先体验权","专属客服一对一服务"]}),onLoad(){this.getMemberStatus()},methods:{clickJoinVip(){this.memberInfo.is_member||e.index.showModal({content:"请点击下方按钮复制链接并在浏览器中打开以完成会员购买流程",showCancel:!1,confirmText:"复制",success(m){m.confirm&&e.index.setClipboardData({data:"https://valuefrontier.cn/home/pages/account/subscription"})}})},getMemberStatus(){m.membershipStatus().then((m=>{200==m.code?this.memberInfo=m.data:e.index.showToast({title:m.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){e.resolveComponent("navBar")()}Math;const i=e._export_sfc(t,[["render",function(m,t,i,o,s,n){return e.e({a:e.p({leftText:"会员中心"}),b:r._imports_0,c:s.memberInfo},s.memberInfo?e.e({d:s.memberInfo.is_member},s.memberInfo.is_member?{e:r._imports_1$10}:{f:r._imports_2$10},{g:s.memberInfo.is_member},s.memberInfo.is_member?{h:e.t(s.memberInfo.subscription_type),i:e.t(s.memberInfo.member_expire_date)}:{},{j:s.memberInfo.is_member},s.memberInfo.is_member?{k:r._imports_3$9}:{l:r._imports_4$8},{m:s.memberInfo.is_member},s.memberInfo.is_member?{n:r._imports_5$4}:{o:r._imports_6$2},{p:e.f(s.privilegeList,((m,t,i)=>e.e({a:e.t(m),b:t>5},t>5?{c:r._imports_7$2}:{d:r._imports_8$3},{e:t}))),q:r._imports_8$3,r:e.n("privilegeList "+(s.memberInfo.is_member?"vip":"")),s:e.s("margin-top:"+s.navH+"px;")}):{},{t:s.memberInfo},s.memberInfo?{v:e.t(s.memberInfo.is_member?"您已是年度VIP":"立即加入年度VIP"),w:e.o((e=>n.clickJoinVip()))}:{})}]]);wx.createPage(i);
|
||||
"use strict";const e=require("../../common/vendor.js"),m=require("../../request/api.js"),r=require("../../common/assets.js"),t={data:()=>({navH:e.inject("navHeight"),memberInfo:null,privilegeList:["事件关联股票深度分析","历史事件智能对比复盘","事件概念关联与挖掘","概念板块个股追踪","概念深深度研报与解读","个股异动实时预警","事件传导链路智能分析","概念演变时间轴追溯","个股全方位深度研究","价小前投研助手无限使用","新功能优先体验权","专属客服一对一服务"]}),onLoad(){this.getMemberStatus()},methods:{clickJoinVip(){this.memberInfo.is_member||e.index.showModal({content:"请点击下方按钮复制链接并在浏览器中打开以完成会员购买流程",showCancel:!1,confirmText:"复制",success(m){m.confirm&&e.index.setClipboardData({data:"https://valuefrontier.cn/home/pages/account/subscription"})}})},getMemberStatus(){m.membershipStatus().then((m=>{200==m.code?this.memberInfo=m.data:e.index.showToast({title:m.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){e.resolveComponent("navBar")()}Math;const o=e._export_sfc(t,[["render",function(m,t,o,i,s,n){return e.e({a:e.p({leftText:"会员中心"}),b:r._imports_0,c:s.memberInfo},s.memberInfo?e.e({d:s.memberInfo.is_member},s.memberInfo.is_member?{e:r._imports_1$10}:{f:r._imports_2$10},{g:s.memberInfo.is_member},s.memberInfo.is_member?{h:e.t(s.memberInfo.subscription_type),i:e.t(s.memberInfo.days_left)}:{},{j:s.memberInfo.is_member},s.memberInfo.is_member?{k:r._imports_3$9}:{l:r._imports_4$8},{m:s.memberInfo.is_member},s.memberInfo.is_member?{n:r._imports_5$4}:{o:r._imports_6$2},{p:e.f(s.privilegeList,((m,t,o)=>e.e({a:e.t(m),b:t>5},t>5?{c:r._imports_7$2}:{d:r._imports_8$3},{e:t}))),q:r._imports_8$3,r:e.n("privilegeList "+(s.memberInfo.is_member?"vip":"")),s:e.s("margin-top:"+s.navH+"px;")}):{},{t:s.memberInfo},s.memberInfo?{v:e.t(s.memberInfo.is_member?"您已是"+s.memberInfo.subscription_type+"会员":"立即加入年度会员"),w:e.o((e=>n.clickJoinVip()))}:{})}]]);wx.createPage(o);
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view><nav-bar wx:if="{{a}}" u-i="2f528ea3-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="vipC" style="{{s}}"><view class="vipInfoC relative"><image wx:if="{{d}}" class="bg" src="{{e}}" mode="widthFix"></image><image wx:else class="bg" src="{{f}}" mode="widthFix"></image><view wx:if="{{g}}" class="infoC vip absolute"><view class="title">尊贵的{{h}}VIP会员</view><view class="tips">会员有效期至:{{i}}</view></view><view wx:else class="infoC absolute"><view class="title">价值前沿</view><view class="tips">您还不是会员 加入尊享N项服务</view></view></view><view class="privilegeCompareC relative"><view class="titleC flexCenter"><image wx:if="{{j}}" class="icon" src="{{k}}" mode="widthFix"></image><image wx:else class="icon" src="{{l}}" mode="widthFix"></image><view class="title">特权对比</view><image wx:if="{{m}}" class="icon" src="{{n}}" mode="widthFix"></image><image wx:else class="icon" src="{{o}}" mode="widthFix"></image></view><view class="{{r}}"><view class="header flex"><view class="privilege item">专属特权</view><view class="item free">pro会员</view><view class="item vip">max会员</view></view><view class="list"><view wx:for="{{p}}" wx:for-item="item" wx:key="e" class="item flex"><view class="optionItem privilege flex">{{item.a}}</view><view class="optionItem free flexCenter"><block wx:if="{{item.b}}"><image class="notContain" src="{{item.c}}" mode="widthFix"></image></block><block wx:else><image class="contain" src="{{item.d}}" mode="widthFix"></image></block></view><view class="optionItem vip flexCenter"><image class="contain" src="{{q}}" mode="widthFix"></image></view></view></view></view></view></view><view wx:if="{{t}}" class="joinVipC fixed" bindtap="{{w}}">{{v}}</view></view>
|
||||
<view><nav-bar wx:if="{{a}}" u-i="2f528ea3-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="vipC" style="{{s}}"><view class="vipInfoC relative"><image wx:if="{{d}}" class="bg" src="{{e}}" mode="widthFix"></image><image wx:else class="bg" src="{{f}}" mode="widthFix"></image><view wx:if="{{g}}" class="infoC vip absolute"><view class="title">尊贵的{{h}}会员</view><view class="tips">{{i}}天后到期</view></view><view wx:else class="infoC absolute"><view class="title">价值前沿</view><view class="tips">您还不是会员 加入尊享N项服务</view></view></view><view class="privilegeCompareC relative"><view class="titleC flexCenter"><image wx:if="{{j}}" class="icon" src="{{k}}" mode="widthFix"></image><image wx:else class="icon" src="{{l}}" mode="widthFix"></image><view class="title">特权对比</view><image wx:if="{{m}}" class="icon" src="{{n}}" mode="widthFix"></image><image wx:else class="icon" src="{{o}}" mode="widthFix"></image></view><view class="{{r}}"><view class="header flex"><view class="privilege item">专属特权</view><view class="item free">pro会员</view><view class="item vip">max会员</view></view><view class="list"><view wx:for="{{p}}" wx:for-item="item" wx:key="e" class="item flex"><view class="optionItem privilege flex">{{item.a}}</view><view class="optionItem free flexCenter"><block wx:if="{{item.b}}"><image class="notContain" src="{{item.c}}" mode="widthFix"></image></block><block wx:else><image class="contain" src="{{item.d}}" mode="widthFix"></image></block></view><view class="optionItem vip flexCenter"><image class="contain" src="{{q}}" mode="widthFix"></image></view></view></view></view></view></view><view wx:if="{{t}}" class="joinVipC fixed" bindtap="{{w}}">{{v}}</view></view>
|
||||
@@ -1 +1 @@
|
||||
<view class="cyl_view"><view class="top flex"><view class="child_1">产业链分析</view><view class="child_2">目标公司供应链图谱</view><view class="child_3">节点 {{a}}</view></view><view class="center"><view class="{{['child', b && 'action']}}" bindtap="{{c}}"> 层级视图 </view><view class="{{['child', d && 'action']}}" bindtap="{{e}}"> 流向关系 </view></view><view wx:if="{{f}}" class="bottom"><view class="type flex"><view wx:for="{{g}}" wx:for-item="item" wx:key="i" class="item flex flex1"><view class="{{item.e}}" bindtap="{{item.f}}"><view class="titleNumC">{{item.a}} <text class="{{item.c}}">{{item.b}}</text></view><view class="des">{{item.d}}</view></view><image wx:if="{{item.g}}" class="arrow" src="{{item.h}}" mode="widthFix"></image></view></view><view class="list"><block wx:if="{{h}}"><view wx:for="{{i}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label upstream type">{{item.c}}</view><view class="label upstream market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">影响度</view><view class="progressBgC flex1"><view class="progress upstream" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block><block wx:if="{{j}}"><view wx:for="{{k}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label core type">{{item.c}}</view><view class="label core market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">影响度</view><view class="progressBgC flex1"><view class="progress core" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block><block wx:if="{{l}}"><view wx:for="{{m}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label downstream type">{{item.c}}</view><view class="label downstream market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">影响度</view><view class="progressBgC flex1"><view class="progress downstream" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block></view></view><view wx:if="{{n}}" style="height:500rpx"><l-echart class="r" u-r="chartRef" u-i="4ade4b3d-0" bind:__l="__l"></l-echart></view></view>
|
||||
<view class="cyl_view"><view class="top flex"><view class="child_1">产业链分析</view><view class="child_2">目标公司供应链图谱</view><view class="child_3">节点 {{a}}</view></view><view class="center"><view class="{{['child', b && 'action']}}" bindtap="{{c}}"> 层级视图 </view><view class="{{['child', d && 'action']}}" bindtap="{{e}}"> 流向关系 </view></view><view wx:if="{{f}}" class="bottom"><view class="type flex"><view wx:for="{{g}}" wx:for-item="item" wx:key="i" class="item flex flex1"><view class="{{item.e}}" bindtap="{{item.f}}"><view class="titleNumC">{{item.a}} <text class="{{item.c}}">{{item.b}}</text></view><view class="des">{{item.d}}</view></view><image wx:if="{{item.g}}" class="arrow" src="{{item.h}}" mode="widthFix"></image></view></view><view class="list"><block wx:if="{{h}}"><view wx:for="{{i}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label upstream type">{{item.c}}</view><view class="label upstream market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">重要度</view><view class="progressBgC flex1"><view class="progress upstream" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block><block wx:if="{{j}}"><view wx:for="{{k}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label core type">{{item.c}}</view><view class="label core market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">重要度</view><view class="progressBgC flex1"><view class="progress core" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block><block wx:if="{{l}}"><view wx:for="{{m}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label downstream type">{{item.c}}</view><view class="label downstream market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">重要度</view><view class="progressBgC flex1"><view class="progress downstream" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block></view></view><view wx:if="{{n}}" style="height:500rpx"><l-echart class="r" u-r="chartRef" u-i="4ade4b3d-0" bind:__l="__l"></l-echart></view></view>
|
||||
122
unpackage/dist/dev/mp-weixin/common/assets.js
vendored
@@ -1,8 +1,8 @@
|
||||
"use strict";
|
||||
const _imports_0$a = "/static/image/index/conceptTopBg.png";
|
||||
const _imports_1$i = "/static/icon/home/conceptCenter/search.png";
|
||||
const _imports_1$h = "/static/icon/home/conceptCenter/search.png";
|
||||
const _imports_3$d = "/static/icon/home/conceptCenter/conceptScreenArrow.png";
|
||||
const _imports_1$h = "/static/icon/home/downArrow.png";
|
||||
const _imports_1$g = "/static/icon/home/downArrow.png";
|
||||
const _imports_2$f = "/static/icon/home/upArrow.png";
|
||||
const _imports_3$c = "/static/icon/home/browser.png";
|
||||
const _imports_11$3 = "/static/icon/home/like.png";
|
||||
@@ -13,14 +13,14 @@ const _imports_10$2 = "/static/icon/home/industrySearch.png";
|
||||
const _imports_11$2 = "/static/icon/home/industry_s.png";
|
||||
const _imports_12$3 = "/static/icon/home/level_s.png";
|
||||
const _imports_2$d = "/static/icon/invest/upArrow.png";
|
||||
const _imports_4$d = "/static/icon/invest/downArrow.png";
|
||||
const _imports_4$c = "/static/image/index/noData.png";
|
||||
const _imports_4$e = "/static/icon/invest/downArrow.png";
|
||||
const _imports_4$d = "/static/image/index/noData.png";
|
||||
const _imports_5$8 = "/static/icon/home/monthLeftArrow.png";
|
||||
const _imports_6$2 = "/static/icon/home/monthRightArrow.png";
|
||||
const _imports_2$c = "/static/icon/home/conceptCenter/sortType.png";
|
||||
const _imports_4$b = "/static/icon/home/conceptCenter/transactionDate.png";
|
||||
const _imports_1$g = "/static/icon/home/conceptCenter/lock.png";
|
||||
const _imports_1$f = "/static/icon/home/conceptCenter/timeAxis.png";
|
||||
const _imports_4$c = "/static/icon/home/conceptCenter/transactionDate.png";
|
||||
const _imports_1$f = "/static/icon/home/conceptCenter/lock.png";
|
||||
const _imports_1$e = "/static/icon/home/conceptCenter/timeAxis.png";
|
||||
const _imports_6$1 = "/static/icon/home/close.png";
|
||||
const _imports_8$4 = "/static/icon/home/conceptCenter/statistics.png";
|
||||
const _imports_9$2 = "/static/icon/home/conceptCenter/rank1.png";
|
||||
@@ -36,40 +36,41 @@ const _imports_13$1 = "/static/icon/home/conceptCenter/vipPopIcon.png";
|
||||
const _imports_14$1 = "/static/icon/home/conceptCenter/vipPopIcon.png";
|
||||
const _imports_15$1 = "/static/icon/home/conceptCenter/free_s.png";
|
||||
const _imports_16$1 = "/static/icon/home/conceptCenter/pro_s.png";
|
||||
const _imports_1$e = "/static/icon/mine/infoArrow.png";
|
||||
const _imports_1$d = "/static/icon/mine/infoArrow.png";
|
||||
const _imports_2$a = "/static/image/mine/vipBg.png";
|
||||
const _imports_3$b = "/static/icon/mine/menuArrow.png";
|
||||
const _imports_4$a = "/static/image/mine/service.png";
|
||||
const _imports_1$d = "/static/icon/mine/basicInfo/edit.png";
|
||||
const _imports_4$b = "/static/image/mine/service.png";
|
||||
const _imports_1$c = "/static/icon/mine/basicInfo/edit.png";
|
||||
const _imports_2$9 = "/static/icon/mine/basicInfo/downArrow.png";
|
||||
const _imports_3$a = "/static/icon/home/expectScore.png";
|
||||
const _imports_4$9 = "/static/icon/home/expectScoreTips.png";
|
||||
const _imports_4$a = "/static/icon/home/expectScoreTips.png";
|
||||
const _imports_5$7 = "/static/icon/home/expectScoreDot.png";
|
||||
const _imports_8$3 = "/static/icon/home/eventDetails/like.png";
|
||||
const _imports_9$1 = "/static/icon/home/eventDetails/collect.png";
|
||||
const _imports_4$8 = "/static/icon/home/collect_s.png";
|
||||
const _imports_1$c = "/static/icon/home/like_s.png";
|
||||
const _imports_4$9 = "/static/icon/home/collect_s.png";
|
||||
const _imports_1$b = "/static/icon/home/like_s.png";
|
||||
const _imports_0$8 = "/static/image/login/logo.png";
|
||||
const _imports_3$9 = "/static/icon/login/select_s.png";
|
||||
const _imports_4$7 = "/static/icon/login/select.png";
|
||||
const _imports_1$b = "/static/icon/login/mobile.png";
|
||||
const _imports_4$8 = "/static/icon/login/select.png";
|
||||
const _imports_1$a = "/static/icon/login/mobile.png";
|
||||
const _imports_2$8 = "/static/icon/login/code.png";
|
||||
const _imports_3$8 = "/static/icon/home/conceptCenter/chgDown.png";
|
||||
const _imports_4$6 = "/static/icon/home/conceptCenter/chgUp.png";
|
||||
const _imports_4$7 = "/static/icon/home/conceptCenter/chgUp.png";
|
||||
const _imports_5$6 = "/static/icon/home/conceptCenter/newsReport.png";
|
||||
const _imports_1$a = "/static/icon/home/conceptCenter/timeScreenArrow.png";
|
||||
const _imports_1$9 = "/static/icon/home/conceptCenter/timeScreenArrow.png";
|
||||
const _imports_2$7 = "/static/icon/home/conceptCenter/reasonExpand.png";
|
||||
const _imports_3$7 = "/static/icon/home/conceptCenter/reasonRetract.png";
|
||||
const _imports_3$6 = "/assets/ydjk-icon.9712ef19.png";
|
||||
const _imports_5$5 = "/assets/ydjk-zs.f6ba6c32.png";
|
||||
const _imports_1$9 = "/pagesStock/static/icon/ai-icon.png";
|
||||
const _imports_1$8 = "/pagesStock/static/icon/ai-icon.png";
|
||||
const _imports_2$6 = "/pagesStock/static/icon/ai-icon-1.png";
|
||||
const _imports_3$5 = "/pagesStock/static/icon/all-icon-3.png";
|
||||
const _imports_1$8 = "/pagesMine/static/image/vip/vipTopBg.png";
|
||||
const _imports_5$4 = "/pagesStock/static/icon/all-icon-5.png";
|
||||
const _imports_1$7 = "/pagesMine/static/image/vip/vipTopBg.png";
|
||||
const _imports_2$5 = "/pagesMine/static/image/vip/noVipTopBg.png";
|
||||
const _imports_3$4 = "/pagesMine/static/icon/vip/titleLeft_v.png";
|
||||
const _imports_4$5 = "/pagesMine/static/icon/vip/titleLeft.png";
|
||||
const _imports_5$4 = "/pagesMine/static/icon/vip/titleRight_v.png";
|
||||
const _imports_4$6 = "/pagesMine/static/icon/vip/titleLeft.png";
|
||||
const _imports_5$3 = "/pagesMine/static/icon/vip/titleRight_v.png";
|
||||
const _imports_6 = "/pagesMine/static/icon/vip/titleRight.png";
|
||||
const _imports_7$1 = "/pagesMine/static/icon/vip/step1_v.png";
|
||||
const _imports_8$2 = "/pagesMine/static/icon/vip/step1.png";
|
||||
@@ -86,16 +87,15 @@ const _imports_7 = "/pagesMine/static/icon/vip/notContain.png";
|
||||
const _imports_8$1 = "/pagesMine/static/icon/vip/contain.png";
|
||||
const _imports_2$4 = "/pagesStock/static/icon/establishedTime.png";
|
||||
const _imports_3$3 = "/pagesStock/static/icon/registeredCapital.png";
|
||||
const _imports_4$4 = "/pagesStock/static/icon/location.png";
|
||||
const _imports_5$3 = "/pagesStock/static/icon/noData.png";
|
||||
const _imports_1$7 = "/pagesStock/static/icon/existStatus.png";
|
||||
const _imports_4$5 = "/pagesStock/static/icon/location.png";
|
||||
const _imports_5$2 = "/pagesStock/static/icon/noData.png";
|
||||
const _imports_1$6 = "/pagesStock/static/icon/existStatus.png";
|
||||
const _imports_8 = "/pagesStock/static/icon/yRightArrow.png";
|
||||
const _imports_4$3 = "/pagesStock/static/icon/all-down-ed.png";
|
||||
const _imports_4$4 = "/pagesStock/static/icon/all-down-ed.png";
|
||||
const _imports_2$3 = "/pagesStock/static/icon/contrast.png";
|
||||
const _imports_3$2 = "/pagesStock/static/icon/optional.png";
|
||||
const _imports_4$2 = "/pagesStock/static/icon/share.png";
|
||||
const _imports_1$6 = "/pagesStock/static/icon/all-icon-4.png";
|
||||
const _imports_5$2 = "/pagesStock/static/icon/all-icon-5.png";
|
||||
const _imports_4$3 = "/pagesStock/static/icon/share.png";
|
||||
const _imports_4$2 = "/pagesStock/static/icon/all-icon-4.png";
|
||||
const _imports_0$7 = "/pagesStock/static/icon/cwfx-1.png";
|
||||
const _imports_3$1 = "/pagesStock/static/icon/all-icon.png";
|
||||
const _imports_5$1 = "/pagesStock/static/icon/all-down.png";
|
||||
@@ -130,25 +130,24 @@ exports._imports_0$6 = _imports_0$4;
|
||||
exports._imports_0$7 = _imports_0$3;
|
||||
exports._imports_0$8 = _imports_0$2;
|
||||
exports._imports_0$9 = _imports_0$1;
|
||||
exports._imports_1 = _imports_1$i;
|
||||
exports._imports_1$1 = _imports_1$h;
|
||||
exports._imports_1$10 = _imports_1$8;
|
||||
exports._imports_1$11 = _imports_1$7;
|
||||
exports._imports_1$12 = _imports_1$6;
|
||||
exports._imports_1$13 = _imports_1$5;
|
||||
exports._imports_1$14 = _imports_1$4;
|
||||
exports._imports_1$15 = _imports_1$3;
|
||||
exports._imports_1$16 = _imports_1$2;
|
||||
exports._imports_1$17 = _imports_1$1;
|
||||
exports._imports_1$18 = _imports_1;
|
||||
exports._imports_1$2 = _imports_1$f;
|
||||
exports._imports_1$3 = _imports_1$g;
|
||||
exports._imports_1$4 = _imports_1$e;
|
||||
exports._imports_1$5 = _imports_1$d;
|
||||
exports._imports_1$6 = _imports_1$c;
|
||||
exports._imports_1$7 = _imports_1$b;
|
||||
exports._imports_1$8 = _imports_1$a;
|
||||
exports._imports_1$9 = _imports_1$9;
|
||||
exports._imports_1 = _imports_1$h;
|
||||
exports._imports_1$1 = _imports_1$g;
|
||||
exports._imports_1$10 = _imports_1$7;
|
||||
exports._imports_1$11 = _imports_1$6;
|
||||
exports._imports_1$12 = _imports_1$5;
|
||||
exports._imports_1$13 = _imports_1$4;
|
||||
exports._imports_1$14 = _imports_1$3;
|
||||
exports._imports_1$15 = _imports_1$2;
|
||||
exports._imports_1$16 = _imports_1$1;
|
||||
exports._imports_1$17 = _imports_1;
|
||||
exports._imports_1$2 = _imports_1$e;
|
||||
exports._imports_1$3 = _imports_1$f;
|
||||
exports._imports_1$4 = _imports_1$d;
|
||||
exports._imports_1$5 = _imports_1$c;
|
||||
exports._imports_1$6 = _imports_1$b;
|
||||
exports._imports_1$7 = _imports_1$a;
|
||||
exports._imports_1$8 = _imports_1$9;
|
||||
exports._imports_1$9 = _imports_1$8;
|
||||
exports._imports_10 = _imports_10$2;
|
||||
exports._imports_10$1 = _imports_10$1;
|
||||
exports._imports_10$2 = _imports_10;
|
||||
@@ -201,20 +200,21 @@ exports._imports_3$6 = _imports_3$7;
|
||||
exports._imports_3$7 = _imports_3$6;
|
||||
exports._imports_3$8 = _imports_3$5;
|
||||
exports._imports_3$9 = _imports_3$4;
|
||||
exports._imports_4 = _imports_4$c;
|
||||
exports._imports_4$1 = _imports_4$d;
|
||||
exports._imports_4$10 = _imports_4$3;
|
||||
exports._imports_4$11 = _imports_4$2;
|
||||
exports._imports_4$12 = _imports_4$1;
|
||||
exports._imports_4$13 = _imports_4;
|
||||
exports._imports_4$2 = _imports_4$b;
|
||||
exports._imports_4$3 = _imports_4$a;
|
||||
exports._imports_4$4 = _imports_4$9;
|
||||
exports._imports_4$5 = _imports_4$8;
|
||||
exports._imports_4$6 = _imports_4$7;
|
||||
exports._imports_4$7 = _imports_4$6;
|
||||
exports._imports_4$8 = _imports_4$5;
|
||||
exports._imports_4$9 = _imports_4$4;
|
||||
exports._imports_4 = _imports_4$d;
|
||||
exports._imports_4$1 = _imports_4$e;
|
||||
exports._imports_4$10 = _imports_4$4;
|
||||
exports._imports_4$11 = _imports_4$3;
|
||||
exports._imports_4$12 = _imports_4$2;
|
||||
exports._imports_4$13 = _imports_4$1;
|
||||
exports._imports_4$14 = _imports_4;
|
||||
exports._imports_4$2 = _imports_4$c;
|
||||
exports._imports_4$3 = _imports_4$b;
|
||||
exports._imports_4$4 = _imports_4$a;
|
||||
exports._imports_4$5 = _imports_4$9;
|
||||
exports._imports_4$6 = _imports_4$8;
|
||||
exports._imports_4$7 = _imports_4$7;
|
||||
exports._imports_4$8 = _imports_4$6;
|
||||
exports._imports_4$9 = _imports_4$5;
|
||||
exports._imports_5 = _imports_5$8;
|
||||
exports._imports_5$1 = _imports_5$7;
|
||||
exports._imports_5$2 = _imports_5$6;
|
||||
|
||||
@@ -7051,9 +7051,9 @@ function isConsoleWritable() {
|
||||
return isWritable;
|
||||
}
|
||||
function initRuntimeSocketService() {
|
||||
const hosts = "127.0.0.1,192.168.2.91";
|
||||
const hosts = "127.0.0.1,192.168.2.28";
|
||||
const port = "8090";
|
||||
const id = "mp-weixin_pBWwaQ";
|
||||
const id = "mp-weixin_am9vFk";
|
||||
const lazy = typeof swan !== "undefined";
|
||||
let restoreError = lazy ? () => {
|
||||
} : initOnError();
|
||||
|
||||
@@ -449,7 +449,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return {
|
||||
a: common_assets._imports_0$1,
|
||||
b: common_vendor.o(($event) => $options.clickPreMonth()),
|
||||
c: common_assets._imports_1$18,
|
||||
c: common_assets._imports_1$17,
|
||||
d: common_vendor.t($data.selectDateStr),
|
||||
e: common_assets._imports_2$3,
|
||||
f: common_vendor.o(($event) => $options.clickNextMonth()),
|
||||
|
||||
@@ -102,7 +102,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
} : {}, {
|
||||
c: !$props.hideBack && !$props.backBlack
|
||||
}, !$props.hideBack && !$props.backBlack ? {
|
||||
d: common_assets._imports_1$17
|
||||
d: common_assets._imports_1$16
|
||||
} : {}, {
|
||||
e: !$props.hideBack && $props.backBlack
|
||||
}, !$props.hideBack && $props.backBlack ? {
|
||||
|
||||
@@ -23,6 +23,12 @@ Component({
|
||||
"iconPath": "/static/icon/tabbar/home.png",
|
||||
"selectedIconPath": "/static/icon/tabbar/home_s.png"
|
||||
},
|
||||
// {
|
||||
// "pagePath": "/pages/invest/invest",
|
||||
// "text": "投资日历",
|
||||
// "iconPath": "/static/icon/tabbar/invest.png",
|
||||
// "selectedIconPath": "/static/icon/tabbar/invest_s.png"
|
||||
// },
|
||||
{
|
||||
"pagePath": "/pages/concept/concept",
|
||||
"text": "概念中心",
|
||||
@@ -64,7 +70,7 @@ Component({
|
||||
const index = data.index
|
||||
if(index==3)
|
||||
{
|
||||
//如果是购物车和我的,需要登录
|
||||
//如果是个人中心,需要登录
|
||||
let token = wx.getStorageSync('token')
|
||||
if (!token) {
|
||||
wx.navigateTo({
|
||||
|
||||
@@ -480,6 +480,9 @@ const _sfc_main = {
|
||||
*/
|
||||
clickUpgradeAtOnce() {
|
||||
this.clickLater();
|
||||
common_vendor.index.navigateTo({
|
||||
url: "/pagesMine/vipMeal/vipMeal"
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 点击查看相关概念
|
||||
|
||||
@@ -255,9 +255,6 @@ const _sfc_main = {
|
||||
* @param {Object} code
|
||||
*/
|
||||
clickStockName(code) {
|
||||
common_vendor.index.navigateTo({
|
||||
url: "/pagesStock/stockCenterDetails/stockCenterDetails?code=" + code
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取概念相关个股数据
|
||||
|
||||
@@ -202,12 +202,6 @@ const _sfc_main = {
|
||||
* @param {Object} code
|
||||
*/
|
||||
clickStockName(code) {
|
||||
if (code.indexOf(".") > -1) {
|
||||
code = code.split(".")[0];
|
||||
}
|
||||
common_vendor.index.navigateTo({
|
||||
url: "/pagesStock/stockCenterDetails/stockCenterDetails?code=" + code
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 点击查看股票详情
|
||||
@@ -243,6 +237,9 @@ const _sfc_main = {
|
||||
*/
|
||||
clickUpgradeAtOnce() {
|
||||
this.clickLater();
|
||||
common_vendor.index.navigateTo({
|
||||
url: "/pagesMine/vipMeal/vipMeal"
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 点击查看更多个股
|
||||
|
||||
@@ -191,6 +191,11 @@ const _sfc_main = {
|
||||
let categoryData = [];
|
||||
let valueData = [];
|
||||
let open = data[0].open;
|
||||
if (data.length > 0) {
|
||||
if (data[0].time != "09:30") {
|
||||
data.splice(0, 1);
|
||||
}
|
||||
}
|
||||
for (let item of data) {
|
||||
categoryData.push(item.time);
|
||||
let rate = utils_util.accMul(utils_util.accDiv(utils_util.accSub(item.close, open), open).toFixed(4), 100);
|
||||
|
||||
@@ -182,7 +182,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
t: $data.memberInfo && $data.memberInfo.is_member
|
||||
}, $data.memberInfo && $data.memberInfo.is_member ? {
|
||||
v: common_vendor.t($data.memberInfo.subscription_type),
|
||||
w: common_vendor.t($data.memberInfo.member_expire_date)
|
||||
w: common_vendor.t($data.memberInfo.days_left)
|
||||
} : {}, {
|
||||
x: common_vendor.o(($event) => $options.clickVip()),
|
||||
y: common_vendor.f($data.menuList, (item, index, i0) => {
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view><image class="topBg absolute" src="{{a}}" mode="widthFix"></image><view class="navTitle fixed" style="{{b}}">个人中心</view><view wx:if="{{c}}" class="personalInfoC relative flex" style="{{j}}" bindtap="{{k}}"><image class="avatar" src="{{d}}" mode="aspectFill"></image><view class="flex1"><view class="nickname">{{e}}</view><view class="mobile">手机号:{{f}}</view><view wx:if="{{g}}" class="mobile">{{h}}会员</view></view><image class="arrow" src="{{i}}" mode="widthFix"></image></view><view wx:if="{{l}}" class="numList relative flex"><view class="item flex1 flexColumnCenter" bindtap="{{n}}"><view class="num">{{m}}</view><view class="title">评论回复</view></view><view class="item flex1 flexColumnCenter" bindtap="{{p}}"><view class="num">{{o}}</view><view class="title">关注收藏</view></view><view class="item flex1 flexColumnCenter" bindtap="{{r}}"><view class="num">{{q}}</view><view class="title">我的点赞</view></view></view><view class="vipC relative" bindtap="{{x}}"><image class="icon" src="{{s}}" mode="widthFix"></image><view wx:if="{{t}}" class="absolute tips">{{v}}会员,有效期至{{w}}</view><view wx:else class="absolute tips">成为会员,可以获取更多价值资讯</view></view><view class="menuList relative"><view class="list"><view wx:for="{{y}}" wx:for-item="item" wx:key="c" class="item relative flex" bindtap="{{item.d}}"><image class="icon" src="{{item.a}}" mode="aspectFit"></image><view class="title flex1">{{item.b}}</view><image class="arrow" src="{{z}}" mode="widthFix"></image></view></view></view><uni-popup wx:if="{{C}}" class="r" u-s="{{['d']}}" u-r="popup" u-i="dd5840e4-0" bind:__l="__l" u-p="{{C}}"><view class="popup"><image class="icon" src="{{A}}" mode="widthFix" show-menu-by-longpress></image><view class="title">企业二维码</view></view></uni-popup></view>
|
||||
<view><image class="topBg absolute" src="{{a}}" mode="widthFix"></image><view class="navTitle fixed" style="{{b}}">个人中心</view><view wx:if="{{c}}" class="personalInfoC relative flex" style="{{j}}" bindtap="{{k}}"><image class="avatar" src="{{d}}" mode="aspectFill"></image><view class="flex1"><view class="nickname">{{e}}</view><view class="mobile">手机号:{{f}}</view><view wx:if="{{g}}" class="mobile">{{h}}会员</view></view><image class="arrow" src="{{i}}" mode="widthFix"></image></view><view wx:if="{{l}}" class="numList relative flex"><view class="item flex1 flexColumnCenter" bindtap="{{n}}"><view class="num">{{m}}</view><view class="title">评论回复</view></view><view class="item flex1 flexColumnCenter" bindtap="{{p}}"><view class="num">{{o}}</view><view class="title">关注收藏</view></view><view class="item flex1 flexColumnCenter" bindtap="{{r}}"><view class="num">{{q}}</view><view class="title">我的点赞</view></view></view><view class="vipC relative" bindtap="{{x}}"><image class="icon" src="{{s}}" mode="widthFix"></image><view wx:if="{{t}}" class="absolute tips">{{v}}会员,{{w}}天后到期</view><view wx:else class="absolute tips">成为会员,可以获取更多价值资讯</view></view><view class="menuList relative"><view class="list"><view wx:for="{{y}}" wx:for-item="item" wx:key="c" class="item relative flex" bindtap="{{item.d}}"><image class="icon" src="{{item.a}}" mode="aspectFit"></image><view class="title flex1">{{item.b}}</view><image class="arrow" src="{{z}}" mode="widthFix"></image></view></view></view><uni-popup wx:if="{{C}}" class="r" u-s="{{['d']}}" u-r="popup" u-i="dd5840e4-0" bind:__l="__l" u-p="{{C}}"><view class="popup"><image class="icon" src="{{A}}" mode="widthFix" show-menu-by-longpress></image><view class="title">企业二维码</view></view></uni-popup></view>
|
||||
245
unpackage/dist/dev/mp-weixin/pages/ztfx/ztfx.js
vendored
@@ -166,6 +166,83 @@ const _sfc_main = {
|
||||
// '板块分布',
|
||||
// '热门概念词云'
|
||||
// ],
|
||||
highPositionStats: {
|
||||
total_count: 0,
|
||||
// 高位股数量
|
||||
avg_continuous_days: 0,
|
||||
// 平均连板数
|
||||
max_continuous_days: 0
|
||||
// 最高连板数
|
||||
},
|
||||
riskAssessment: {
|
||||
// 风险评估结果
|
||||
level: "正常",
|
||||
color: "#22c55e"
|
||||
},
|
||||
highPositionStockList: [],
|
||||
// 新增:存储筛选后的高位股列表
|
||||
// 风险阈值常量(对应参考代码)
|
||||
RISK_THRESHOLDS: {
|
||||
CRITICAL: 7,
|
||||
HIGH: 5,
|
||||
MEDIUM: 3,
|
||||
LOW: 2
|
||||
},
|
||||
// 风险颜色常量
|
||||
RISK_COLORS: {
|
||||
critical: {
|
||||
color: "#ef4444",
|
||||
bg: "rgba(239, 68, 68, 0.2)",
|
||||
border: "rgba(239, 68, 68, 0.4)"
|
||||
},
|
||||
high: {
|
||||
color: "#f97316",
|
||||
bg: "rgba(249, 115, 22, 0.2)",
|
||||
border: "rgba(249, 115, 22, 0.4)"
|
||||
},
|
||||
medium: {
|
||||
color: "#eab308",
|
||||
bg: "rgba(234, 179, 8, 0.2)",
|
||||
border: "rgba(234, 179, 8, 0.4)"
|
||||
},
|
||||
low: {
|
||||
color: "#22c55e",
|
||||
bg: "rgba(34, 197, 94, 0.2)",
|
||||
border: "rgba(34, 197, 94, 0.4)"
|
||||
}
|
||||
},
|
||||
heatIconMap: {
|
||||
high: {
|
||||
icon4: "/pagesStock/static/icon/all-icon-4.png",
|
||||
icon4Color: "#EF4444",
|
||||
// 高热度图标颜色
|
||||
icon5: "/pagesStock/static/icon/all-icon-5.png"
|
||||
// 高热度右侧图标
|
||||
},
|
||||
medium: {
|
||||
icon4: "/pagesStock/static/icon/all-icon-9.png",
|
||||
icon4Color: "#F97316",
|
||||
// 中热度图标颜色
|
||||
icon5: "/pagesStock/static/icon/all-icon-6.png"
|
||||
// 中热度右侧图标
|
||||
},
|
||||
low: {
|
||||
icon4: "",
|
||||
// 低热度不显示icon4
|
||||
icon4Color: "#F3B800",
|
||||
icon5: "/pagesStock/static/icon/all-icon-7.png"
|
||||
// 低热度右侧图标
|
||||
},
|
||||
none: {
|
||||
icon4: "",
|
||||
// 冷门
|
||||
icon4Color: "#01AB5D",
|
||||
icon5: "/pagesStock/static/icon/all-icon-8.png"
|
||||
// 无热度右侧图标
|
||||
}
|
||||
},
|
||||
originData: null,
|
||||
// 原始接口数据
|
||||
bkTypes: [
|
||||
"板块分布",
|
||||
"热门概念词云"
|
||||
@@ -245,6 +322,131 @@ const _sfc_main = {
|
||||
onReady() {
|
||||
},
|
||||
methods: {
|
||||
getStockHeatType(stock) {
|
||||
const days = stock.continuous_days_num || 0;
|
||||
if (days >= this.RISK_THRESHOLDS.CRITICAL) {
|
||||
return "high";
|
||||
} else if (days >= this.RISK_THRESHOLDS.HIGH) {
|
||||
return "medium";
|
||||
} else if (days >= this.RISK_THRESHOLDS.MEDIUM) {
|
||||
return "low";
|
||||
} else {
|
||||
return "none";
|
||||
}
|
||||
},
|
||||
//解析连板数(从"2天2板"格式中提取数字)
|
||||
parseContinuousDays(continuousDaysStr) {
|
||||
if (!continuousDaysStr)
|
||||
return 0;
|
||||
const match = continuousDaysStr.match(/(\d+)天/);
|
||||
return match ? Number(match[1]) : 0;
|
||||
},
|
||||
// 风险等级判断函数
|
||||
getRiskLevel(days) {
|
||||
const {
|
||||
RISK_THRESHOLDS,
|
||||
RISK_COLORS
|
||||
} = this;
|
||||
if (days >= RISK_THRESHOLDS.CRITICAL) {
|
||||
return {
|
||||
level: "极高",
|
||||
color: RISK_COLORS.critical.color,
|
||||
bg: RISK_COLORS.critical.bg,
|
||||
border: RISK_COLORS.critical.border,
|
||||
status: "缩量一字,高风险"
|
||||
};
|
||||
}
|
||||
if (days >= RISK_THRESHOLDS.HIGH) {
|
||||
return {
|
||||
level: "高",
|
||||
color: RISK_COLORS.high.color,
|
||||
bg: RISK_COLORS.high.bg,
|
||||
border: RISK_COLORS.high.border,
|
||||
status: "放量分歧,需观察"
|
||||
};
|
||||
}
|
||||
if (days >= RISK_THRESHOLDS.MEDIUM) {
|
||||
return {
|
||||
level: "中",
|
||||
color: RISK_COLORS.medium.color,
|
||||
bg: RISK_COLORS.medium.bg,
|
||||
border: RISK_COLORS.medium.border,
|
||||
status: "正常波动"
|
||||
};
|
||||
}
|
||||
return {
|
||||
level: "低",
|
||||
color: RISK_COLORS.low.color,
|
||||
bg: RISK_COLORS.low.bg,
|
||||
border: RISK_COLORS.low.border,
|
||||
status: "健康"
|
||||
};
|
||||
},
|
||||
// 计算高位股统计数据
|
||||
calculateHighPositionStats() {
|
||||
if (!this.originData || !this.originData.stocks)
|
||||
return;
|
||||
const highPositionStocks = this.originData.stocks.filter((stock) => {
|
||||
const days = this.parseContinuousDays(stock.continuous_days);
|
||||
return days >= 2;
|
||||
}).map((stock) => {
|
||||
const days = this.parseContinuousDays(stock.continuous_days);
|
||||
const riskInfo = this.getRiskLevel(days);
|
||||
return {
|
||||
...stock,
|
||||
continuous_days_num: days,
|
||||
// 提取纯数字的连板数
|
||||
risk_info: riskInfo
|
||||
// 风险等级信息
|
||||
};
|
||||
}).sort((a, b) => b.continuous_days_num - a.continuous_days_num);
|
||||
this.highPositionStockList = highPositionStocks;
|
||||
const totalCount = highPositionStocks.length;
|
||||
const maxDays = highPositionStocks.length ? Math.max(...highPositionStocks.map((s) => this.parseContinuousDays(s.continuous_days))) : 0;
|
||||
const totalDays = highPositionStocks.reduce((sum, stock) => {
|
||||
return sum + this.parseContinuousDays(stock.continuous_days);
|
||||
}, 0);
|
||||
const avgDays = totalCount > 0 ? (totalDays / totalCount).toFixed(1) : 0;
|
||||
this.highPositionStats = {
|
||||
total_count: totalCount,
|
||||
avg_continuous_days: avgDays,
|
||||
max_continuous_days: maxDays
|
||||
};
|
||||
this.calculateRiskAssessment();
|
||||
},
|
||||
// 计算风险评估
|
||||
calculateRiskAssessment() {
|
||||
const {
|
||||
avg_continuous_days,
|
||||
max_continuous_days,
|
||||
total_count
|
||||
} = this.highPositionStats;
|
||||
const avgDays = Number(avg_continuous_days) || 0;
|
||||
const maxDays = Number(max_continuous_days) || 0;
|
||||
const totalCount = Number(total_count) || 0;
|
||||
const score = avgDays * 2 + maxDays * 0.5 + totalCount * 0.3;
|
||||
if (score >= 20) {
|
||||
this.riskAssessment = {
|
||||
level: "高风险",
|
||||
color: "#ef4444"
|
||||
};
|
||||
} else if (score >= 12) {
|
||||
this.riskAssessment = {
|
||||
level: "中风险",
|
||||
color: "#f97316"
|
||||
};
|
||||
} else if (score >= 6) {
|
||||
this.riskAssessment = {
|
||||
level: "偏高",
|
||||
color: "#eab308"
|
||||
};
|
||||
} else {
|
||||
this.riskAssessment = {
|
||||
level: "正常",
|
||||
color: "#22c55e"
|
||||
};
|
||||
}
|
||||
},
|
||||
getHeatColor(value, max) {
|
||||
if (max === 0)
|
||||
return "#01AB5D";
|
||||
@@ -274,7 +476,7 @@ const _sfc_main = {
|
||||
const currentDay = String(now.getDate()).padStart(2, "0");
|
||||
const dateStr = `${currentYear}-${currentMonth}-${currentDay}`;
|
||||
if (!/^\d{4}-\d{2}-\d{2}$/.test(dateStr)) {
|
||||
common_vendor.index.__f__("error", "at pages/ztfx/ztfx.vue:505", "日期格式错误,请传入 YYYY-MM-DD 格式的日期");
|
||||
common_vendor.index.__f__("error", "at pages/ztfx/ztfx.vue:749", "日期格式错误,请传入 YYYY-MM-DD 格式的日期");
|
||||
return "";
|
||||
}
|
||||
const [year, month, day] = dateStr.split("-").map(Number);
|
||||
@@ -294,7 +496,7 @@ const _sfc_main = {
|
||||
const formattedDate = this.selectedFullDate;
|
||||
const baseURL = request_http.getBaseURL1();
|
||||
const requestUrl = `${baseURL}/data/zt/daily/${formattedDate}.json?t=${timestamp}`;
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:538", "请求URL:", requestUrl);
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:782", "请求URL:", requestUrl);
|
||||
const res = await common_vendor.index.request({
|
||||
url: requestUrl,
|
||||
method: "GET"
|
||||
@@ -325,6 +527,7 @@ const _sfc_main = {
|
||||
}
|
||||
this.bkList = bkList.slice(0, 16);
|
||||
this.initPieChart();
|
||||
this.calculateHighPositionStats();
|
||||
} else {
|
||||
common_vendor.index.showToast({
|
||||
title: "数据请求失败",
|
||||
@@ -332,7 +535,7 @@ const _sfc_main = {
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at pages/ztfx/ztfx.vue:585", "请求异常:", error);
|
||||
common_vendor.index.__f__("error", "at pages/ztfx/ztfx.vue:832", "请求异常:", error);
|
||||
common_vendor.index.showToast({
|
||||
title: "网络异常",
|
||||
icon: "none"
|
||||
@@ -382,18 +585,18 @@ const _sfc_main = {
|
||||
];
|
||||
if (this.$refs.chartRef) {
|
||||
const Piechart = await this.$refs.chartRef.init(echarts);
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:646", "Piechart实例创建成功", Piechart);
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:893", "Piechart实例创建成功", Piechart);
|
||||
Piechart.setOption(this.pieOption);
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at pages/ztfx/ztfx.vue:650", "饼图初始化失败:", error);
|
||||
common_vendor.index.__f__("error", "at pages/ztfx/ztfx.vue:897", "饼图初始化失败:", error);
|
||||
}
|
||||
},
|
||||
// 初始化词云
|
||||
initWordCloud() {
|
||||
if (this.originData.word_freq_data && Array.isArray(this.originData.word_freq_data)) {
|
||||
this.wordData = this.originData.word_freq_data;
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:659", "词云数据赋值完成", this.wordData);
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:906", "词云数据赋值完成", this.wordData);
|
||||
} else {
|
||||
this.wordData = [{
|
||||
name: "脑机",
|
||||
@@ -406,7 +609,7 @@ const _sfc_main = {
|
||||
},
|
||||
handleDateChange(data) {
|
||||
var _a, _b, _c, _d;
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:677", "从日历组件接收的参数:", {
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:924", "从日历组件接收的参数:", {
|
||||
currentZtCount: (_a = data.item) == null ? void 0 : _a.zt_count,
|
||||
prevZtCount: (_b = data.prevItem) == null ? void 0 : _b.zt_count
|
||||
});
|
||||
@@ -444,7 +647,7 @@ const _sfc_main = {
|
||||
const prevDay = String(selectedDate.getDate()).padStart(2, "0");
|
||||
const prevDateFormatted = `${prevYear}${prevMonth}${prevDay}`;
|
||||
this.selectedFullDate = prevDateFormatted;
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:735", `选中日期为当天(${todayFormatted}),已自动调整为前一天:`, prevDateFormatted);
|
||||
common_vendor.index.__f__("log", "at pages/ztfx/ztfx.vue:982", `选中日期为当天(${todayFormatted}),已自动调整为前一天:`, prevDateFormatted);
|
||||
}
|
||||
}
|
||||
this.fetchData();
|
||||
@@ -533,7 +736,31 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
width: 330,
|
||||
height: 330
|
||||
}),
|
||||
p: common_vendor.s("top:" + $data.contentTop + "px;")
|
||||
p: common_assets._imports_3$8,
|
||||
q: common_vendor.t($data.highPositionStats.total_count),
|
||||
r: common_vendor.t($data.highPositionStats.avg_continuous_days),
|
||||
s: common_vendor.t($data.highPositionStats.max_continuous_days),
|
||||
t: common_vendor.t($data.riskAssessment.level),
|
||||
v: $data.riskAssessment.color,
|
||||
w: common_vendor.f($data.highPositionStockList, (stock, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(stock.sname),
|
||||
b: common_vendor.t(stock.risk_info.status),
|
||||
c: ["high", "medium"].includes($options.getStockHeatType(stock))
|
||||
}, ["high", "medium"].includes($options.getStockHeatType(stock)) ? {
|
||||
d: $data.heatIconMap[$options.getStockHeatType(stock)].icon4Color,
|
||||
e: $data.heatIconMap[$options.getStockHeatType(stock)].icon4
|
||||
} : {}, {
|
||||
f: common_vendor.t(stock.continuous_days_num),
|
||||
g: stock.risk_info.bg,
|
||||
h: `1rpx solid ${stock.risk_info.border}`,
|
||||
i: stock.risk_info.color,
|
||||
j: $data.heatIconMap[$options.getStockHeatType(stock)].icon5,
|
||||
k: index
|
||||
});
|
||||
}),
|
||||
x: common_assets._imports_5$4,
|
||||
y: common_vendor.s("top:" + $data.contentTop + "px;")
|
||||
};
|
||||
}
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
|
||||
@@ -121,7 +121,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
g: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
h: common_vendor.t($data.memberInfo.subscription_type),
|
||||
i: common_vendor.t($data.memberInfo.member_expire_date)
|
||||
i: common_vendor.t($data.memberInfo.days_left)
|
||||
} : {}, {
|
||||
j: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
@@ -131,7 +131,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, {
|
||||
m: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
n: common_assets._imports_5$4
|
||||
n: common_assets._imports_5$5
|
||||
} : {
|
||||
o: common_assets._imports_6$2
|
||||
}, {
|
||||
@@ -178,7 +178,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, {
|
||||
L: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
M: common_assets._imports_5$4
|
||||
M: common_assets._imports_5$5
|
||||
} : {
|
||||
N: common_assets._imports_6$2
|
||||
}, {
|
||||
@@ -191,7 +191,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, {
|
||||
S: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
T: common_assets._imports_5$4
|
||||
T: common_assets._imports_5$5
|
||||
} : {}, {
|
||||
U: common_assets._imports_6$2,
|
||||
V: common_assets._imports_17,
|
||||
@@ -203,7 +203,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, {
|
||||
Z: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
aa: common_assets._imports_5$4
|
||||
aa: common_assets._imports_5$5
|
||||
} : {
|
||||
ab: common_assets._imports_6$2
|
||||
}, {
|
||||
|
||||
@@ -89,7 +89,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
g: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
h: common_vendor.t($data.memberInfo.subscription_type),
|
||||
i: common_vendor.t($data.memberInfo.member_expire_date)
|
||||
i: common_vendor.t($data.memberInfo.days_left)
|
||||
} : {}, {
|
||||
j: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
@@ -99,7 +99,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, {
|
||||
m: $data.memberInfo.is_member
|
||||
}, $data.memberInfo.is_member ? {
|
||||
n: common_assets._imports_5$4
|
||||
n: common_assets._imports_5$5
|
||||
} : {
|
||||
o: common_assets._imports_6$2
|
||||
}, {
|
||||
@@ -121,7 +121,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}) : {}, {
|
||||
t: $data.memberInfo
|
||||
}, $data.memberInfo ? {
|
||||
v: common_vendor.t($data.memberInfo.is_member ? "您已是年度VIP" : "立即加入年度VIP"),
|
||||
v: common_vendor.t($data.memberInfo.is_member ? "您已是" + $data.memberInfo.subscription_type + "会员" : "立即加入年度会员"),
|
||||
w: common_vendor.o(($event) => $options.clickJoinVip())
|
||||
} : {});
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view><nav-bar wx:if="{{a}}" u-i="2f528ea3-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="vipC" style="{{s}}"><view class="vipInfoC relative"><image wx:if="{{d}}" class="bg" src="{{e}}" mode="widthFix"></image><image wx:else class="bg" src="{{f}}" mode="widthFix"></image><view wx:if="{{g}}" class="infoC vip absolute"><view class="title">尊贵的{{h}}VIP会员</view><view class="tips">会员有效期至:{{i}}</view></view><view wx:else class="infoC absolute"><view class="title">价值前沿</view><view class="tips">您还不是会员 加入尊享N项服务</view></view></view><view class="privilegeCompareC relative"><view class="titleC flexCenter"><image wx:if="{{j}}" class="icon" src="{{k}}" mode="widthFix"></image><image wx:else class="icon" src="{{l}}" mode="widthFix"></image><view class="title">特权对比</view><image wx:if="{{m}}" class="icon" src="{{n}}" mode="widthFix"></image><image wx:else class="icon" src="{{o}}" mode="widthFix"></image></view><view class="{{r}}"><view class="header flex"><view class="privilege item">专属特权</view><view class="item free">pro会员</view><view class="item vip">max会员</view></view><view class="list"><view wx:for="{{p}}" wx:for-item="item" wx:key="e" class="item flex"><view class="optionItem privilege flex">{{item.a}}</view><view class="optionItem free flexCenter"><block wx:if="{{item.b}}"><image class="notContain" src="{{item.c}}" mode="widthFix"></image></block><block wx:else><image class="contain" src="{{item.d}}" mode="widthFix"></image></block></view><view class="optionItem vip flexCenter"><image class="contain" src="{{q}}" mode="widthFix"></image></view></view></view></view></view></view><view wx:if="{{t}}" class="joinVipC fixed" bindtap="{{w}}">{{v}}</view></view>
|
||||
<view><nav-bar wx:if="{{a}}" u-i="2f528ea3-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="vipC" style="{{s}}"><view class="vipInfoC relative"><image wx:if="{{d}}" class="bg" src="{{e}}" mode="widthFix"></image><image wx:else class="bg" src="{{f}}" mode="widthFix"></image><view wx:if="{{g}}" class="infoC vip absolute"><view class="title">尊贵的{{h}}会员</view><view class="tips">{{i}}天后到期</view></view><view wx:else class="infoC absolute"><view class="title">价值前沿</view><view class="tips">您还不是会员 加入尊享N项服务</view></view></view><view class="privilegeCompareC relative"><view class="titleC flexCenter"><image wx:if="{{j}}" class="icon" src="{{k}}" mode="widthFix"></image><image wx:else class="icon" src="{{l}}" mode="widthFix"></image><view class="title">特权对比</view><image wx:if="{{m}}" class="icon" src="{{n}}" mode="widthFix"></image><image wx:else class="icon" src="{{o}}" mode="widthFix"></image></view><view class="{{r}}"><view class="header flex"><view class="privilege item">专属特权</view><view class="item free">pro会员</view><view class="item vip">max会员</view></view><view class="list"><view wx:for="{{p}}" wx:for-item="item" wx:key="e" class="item flex"><view class="optionItem privilege flex">{{item.a}}</view><view class="optionItem free flexCenter"><block wx:if="{{item.b}}"><image class="notContain" src="{{item.c}}" mode="widthFix"></image></block><block wx:else><image class="contain" src="{{item.d}}" mode="widthFix"></image></block></view><view class="optionItem vip flexCenter"><image class="contain" src="{{q}}" mode="widthFix"></image></view></view></view></view></view></view><view wx:if="{{t}}" class="joinVipC fixed" bindtap="{{w}}">{{v}}</view></view>
|
||||
@@ -380,7 +380,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
d: common_assets._imports_3$12,
|
||||
e: common_assets._imports_5$7,
|
||||
f: common_vendor.sr("chartRef1", "351c0d57-0"),
|
||||
g: common_assets._imports_4$12,
|
||||
g: common_assets._imports_4$13,
|
||||
h: common_assets._imports_2$3,
|
||||
i: common_vendor.f($data.perShareIndicatorList, (item, index, i0) => {
|
||||
return {
|
||||
|
||||
@@ -19,6 +19,8 @@ const _sfc_main = {
|
||||
option1: {
|
||||
legend: {
|
||||
show: true,
|
||||
itemWidth: 10,
|
||||
itemHeight: 10,
|
||||
data: ["货币资金", "同比(右)"]
|
||||
},
|
||||
grid: {
|
||||
@@ -27,13 +29,28 @@ const _sfc_main = {
|
||||
top: "5%",
|
||||
bottom: "30%"
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
fontSize: 10
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
fontSize: 10
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false
|
||||
}
|
||||
}
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
@@ -86,13 +103,28 @@ const _sfc_main = {
|
||||
top: "5%",
|
||||
bottom: "30%"
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
fontSize: 10
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
fontSize: 10
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false
|
||||
}
|
||||
}
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
@@ -142,14 +174,28 @@ const _sfc_main = {
|
||||
top: "5%",
|
||||
bottom: "30%"
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
rotate: 45,
|
||||
fontSize: 10
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLabel: {
|
||||
fontSize: 10
|
||||
}
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
data: [],
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false
|
||||
}
|
||||
}
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
@@ -301,7 +347,7 @@ const _sfc_main = {
|
||||
for (let item of showDataList) {
|
||||
for (let item1 of category) {
|
||||
let index = showDataList.indexOf(item);
|
||||
let lastItem = showDataList[index + 1];
|
||||
let lastItem = this.financialBalanceList[index + 1];
|
||||
if (item1 + "年一季报" == item.report_type) {
|
||||
if (item.assets.current_assets.cash) {
|
||||
data1.unshift(utils_util.accDiv(item.assets.current_assets.cash, 1e8).toFixed(2));
|
||||
@@ -328,32 +374,63 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option1.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option1.xAxis.data = category;
|
||||
this.option1.xAxis[0].data = category;
|
||||
this.option1.xAxis[1].data = category;
|
||||
this.option1.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -442,7 +519,8 @@ const _sfc_main = {
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option1.legend.data = ["货币基金", "同比(右)"];
|
||||
this.option1.xAxis.data = category;
|
||||
this.option1.xAxis[0].data = category;
|
||||
this.option1.xAxis[1].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
@@ -570,32 +648,63 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option1.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option1.xAxis.data = category;
|
||||
this.option1.xAxis[0].data = category;
|
||||
this.option1.xAxis[1].data = category;
|
||||
this.option1.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -684,7 +793,8 @@ const _sfc_main = {
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option1.legend.data = ["所有者权益", "同比(右)"];
|
||||
this.option1.xAxis.data = category;
|
||||
this.option1.xAxis[0].data = category;
|
||||
this.option1.xAxis[1].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
@@ -718,7 +828,7 @@ const _sfc_main = {
|
||||
this.option1.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "Q1",
|
||||
name: "第一季度",
|
||||
data: data1,
|
||||
stack: "quarter",
|
||||
yAxisIndex: 0,
|
||||
@@ -762,7 +872,7 @@ const _sfc_main = {
|
||||
/**
|
||||
* 计算经营性现金流增长率
|
||||
*/
|
||||
caculateOperatingFlowGrowthRate() {
|
||||
caculateOperatingCashFlowGrowthRate() {
|
||||
let flow1 = this.cashFlowList[0].operating_activities.net_flow;
|
||||
let flow2 = this.cashFlowList[4].operating_activities.net_flow;
|
||||
return utils_util.accMul(utils_util.accDiv(utils_util.accSub(flow1, flow2), flow2), 100).toFixed(2);
|
||||
@@ -770,7 +880,7 @@ const _sfc_main = {
|
||||
/**
|
||||
* 计算合计现金流增长率
|
||||
*/
|
||||
caculateNetIncreaseRatio() {
|
||||
caculateTotalCashFlowGrowthRate() {
|
||||
let flow1 = this.cashFlowList[0].cash_changes.net_increase;
|
||||
let flow2 = this.cashFlowList[4].cash_changes.net_increase;
|
||||
return utils_util.accMul(utils_util.accDiv(utils_util.accSub(flow1, flow2), flow2), 100).toFixed(2);
|
||||
@@ -880,32 +990,63 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option2.xAxis.data = category;
|
||||
this.option2.xAxis[0].data = category;
|
||||
this.option2.xAxis[1].data = category;
|
||||
this.option2.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -994,7 +1135,7 @@ const _sfc_main = {
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["经营现金流", "同比(右)"];
|
||||
this.option2.xAxis.data = category;
|
||||
this.option2.xAxis[0].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
@@ -1122,32 +1263,63 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
}
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option2.xAxis.data = category;
|
||||
this.option2.xAxis[0].data = category;
|
||||
this.option2.xAxis[1].data = category;
|
||||
this.option2.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -1235,7 +1407,7 @@ const _sfc_main = {
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.xAxis.data = category;
|
||||
this.option2.xAxis[0].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
@@ -1363,31 +1535,63 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
}
|
||||
this.option2.xAxis.data = category;
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option2.xAxis[0].data = category;
|
||||
this.option2.xAxis[1].data = category;
|
||||
this.option2.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -1475,7 +1679,7 @@ const _sfc_main = {
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.xAxis.data = category;
|
||||
this.option2.xAxis[0].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
@@ -1509,7 +1713,7 @@ const _sfc_main = {
|
||||
this.option2.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "Q1",
|
||||
name: "第一季度",
|
||||
data: data1,
|
||||
stack: "quarter",
|
||||
yAxisIndex: 0,
|
||||
@@ -1653,7 +1857,20 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
}
|
||||
this.option3.xAxis.data = category;
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option3.xAxis[0].data = category;
|
||||
this.option3.xAxis[1].data = category;
|
||||
this.option3.series = [
|
||||
{
|
||||
type: "bar",
|
||||
@@ -1678,6 +1895,21 @@ const _sfc_main = {
|
||||
name: "第四季度",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -1765,7 +1997,7 @@ const _sfc_main = {
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option3.xAxis.data = category;
|
||||
this.option3.xAxis[0].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
@@ -1893,31 +2125,63 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
}
|
||||
this.option3.xAxis.data = category;
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option3.xAxis[0].data = category;
|
||||
this.option3.xAxis[1].data = category;
|
||||
this.option3.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -2005,7 +2269,7 @@ const _sfc_main = {
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option3.xAxis.data = category;
|
||||
this.option3.xAxis[0].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
@@ -2039,7 +2303,7 @@ const _sfc_main = {
|
||||
this.option3.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "Q1",
|
||||
name: "第一季度",
|
||||
data: data1,
|
||||
stack: "quarter",
|
||||
yAxisIndex: 0,
|
||||
@@ -2138,31 +2402,63 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
}
|
||||
this.option3.xAxis.data = category;
|
||||
let sumData = [];
|
||||
for (var i = 0; i < data1.length; i++) {
|
||||
let sum = data1[i];
|
||||
sum = utils_util.accAdd(sum, data2[i] ? data2[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data3[i] ? data3[i] : 0);
|
||||
sum = utils_util.accAdd(sum, data4[i] ? data4[i] : 0).toFixed(2);
|
||||
if (sum > 1e4) {
|
||||
sumData.push((sum / 1e4).toFixed(2) + "万");
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option2.legend.data = ["第一季度", "第二季度", "第三季度", "第四季度"];
|
||||
this.option3.xAxis[0].data = category;
|
||||
this.option3.xAxis[1].data = category;
|
||||
this.option3.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "第一季度",
|
||||
barWidth: "15%",
|
||||
data: data1,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第二季度",
|
||||
barWidth: "15%",
|
||||
data: data2,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第三季度",
|
||||
barWidth: "15%",
|
||||
data: data3,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "第四季度",
|
||||
barWidth: "15%",
|
||||
data: data4,
|
||||
yAxisIndex: 0
|
||||
},
|
||||
{
|
||||
type: "bar",
|
||||
name: "总值",
|
||||
data: sumData,
|
||||
barWidth: "70%",
|
||||
xAxisIndex: 1,
|
||||
yAxisIndex: 0,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0.2)"
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position: "top"
|
||||
}
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -2254,7 +2550,7 @@ const _sfc_main = {
|
||||
} else
|
||||
sumData.push(sum);
|
||||
}
|
||||
this.option3.xAxis.data = category;
|
||||
this.option3.xAxis[0].data = category;
|
||||
let ratioList = [];
|
||||
for (let item of showDataList) {
|
||||
let index = showDataList.indexOf(item);
|
||||
@@ -2290,7 +2586,7 @@ const _sfc_main = {
|
||||
this.option3.series = [
|
||||
{
|
||||
type: "bar",
|
||||
name: "Q1",
|
||||
name: "第一季度",
|
||||
data: data1,
|
||||
stack: "quarter",
|
||||
yAxisIndex: 0,
|
||||
@@ -2335,17 +2631,25 @@ const _sfc_main = {
|
||||
* 计算净利润增长率
|
||||
*/
|
||||
caculateNetProfitGrowthRate() {
|
||||
let flow1 = this.incomeStatementList[0].operating_activities.net_flow;
|
||||
let flow2 = this.incomeStatementList[4].operating_activities.net_flow;
|
||||
return utils_util.accMul(utils_util.accDiv(utils_util.accSub(flow1, flow2), flow2), 100).toFixed(2);
|
||||
let flow1 = this.incomeStatementList[0].profit.net_profit;
|
||||
let flow2 = this.incomeStatementList[4].profit.net_profit;
|
||||
return utils_util.accMul(utils_util.accDiv(utils_util.accSub(flow1, flow2), Math.abs(flow2)), 100).toFixed(2);
|
||||
},
|
||||
/**
|
||||
* 计算营业总收入增长率
|
||||
*/
|
||||
caculateRevenueGrowthRate() {
|
||||
let flow1 = this.incomeStatementList[0].cash_changes.net_increase;
|
||||
let flow2 = this.incomeStatementList[4].cash_changes.net_increase;
|
||||
return utils_util.accMul(utils_util.accDiv(utils_util.accSub(flow1, flow2), flow2), 100).toFixed(2);
|
||||
let flow1 = this.incomeStatementList[0].revenue.total_operating_revenue;
|
||||
let flow2 = this.incomeStatementList[4].revenue.total_operating_revenue;
|
||||
return utils_util.accMul(utils_util.accDiv(utils_util.accSub(flow1, flow2), Math.abs(flow2)), 100).toFixed(2);
|
||||
},
|
||||
/**
|
||||
* 计算营业利润增长率
|
||||
*/
|
||||
caculateRevenueProfitGrowthRate() {
|
||||
let flow1 = this.incomeStatementList[0].profit.operating_profit;
|
||||
let flow2 = this.incomeStatementList[4].profit.operating_profit;
|
||||
return utils_util.accMul(utils_util.accDiv(utils_util.accSub(flow1, flow2), Math.abs(flow2)), 100).toFixed(2);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -2426,11 +2730,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
L: $props.cashFlowList.length > 0
|
||||
}, $props.cashFlowList.length > 0 ? {
|
||||
M: common_vendor.t($data.getNumStr($props.cashFlowList[0].operating_activities.net_flow)),
|
||||
N: common_vendor.t(_ctx.caculateOperatingFlowRatio()),
|
||||
N: common_vendor.t($options.caculateOperatingCashFlowGrowthRate()),
|
||||
O: common_vendor.t($data.getNumStr($props.cashFlowList[0].investment_activities.net_flow)),
|
||||
P: common_vendor.t($data.getNumStr($props.cashFlowList[0].financing_activities.net_flow)),
|
||||
Q: common_vendor.t($data.getNumStr($props.cashFlowList[0].cash_changes.net_increase)),
|
||||
R: common_vendor.t($options.caculateNetIncreaseRatio())
|
||||
R: common_vendor.t($options.caculateTotalCashFlowGrowthRate())
|
||||
} : {}, {
|
||||
S: common_assets._imports_0$3,
|
||||
T: common_assets._imports_2$3,
|
||||
@@ -2461,9 +2765,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
af: common_vendor.sr("chartRef3", "619fafcd-2"),
|
||||
ag: $props.incomeStatementList.length > 0
|
||||
}, $props.incomeStatementList.length > 0 ? {
|
||||
ah: common_vendor.t($data.getNumStr($props.incomeStatementList[0].comprehensive_income.total_comprehensive_income)),
|
||||
ai: common_vendor.t($data.getNumStr($props.incomeStatementList[0].revenue.total_operating_revenue)),
|
||||
aj: common_vendor.t($data.getNumStr($props.incomeStatementList[0].profit.operating_profit))
|
||||
ah: common_vendor.t($data.getNumStr($props.incomeStatementList[0].profit.net_profit)),
|
||||
ai: common_vendor.t($options.caculateNetProfitGrowthRate()),
|
||||
aj: common_vendor.t($data.getNumStr($props.incomeStatementList[0].revenue.total_operating_revenue)),
|
||||
ak: common_vendor.t($options.caculateRevenueGrowthRate()),
|
||||
al: common_vendor.t($data.getNumStr($props.incomeStatementList[0].profit.operating_profit)),
|
||||
am: common_vendor.t($options.caculateRevenueProfitGrowthRate())
|
||||
} : {});
|
||||
}
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view class="cyl_view"><view class="top flex"><view class="child_1">产业链分析</view><view class="child_2">目标公司供应链图谱</view><view class="child_3">节点 {{a}}</view></view><view class="center"><view class="{{['child', b && 'action']}}" bindtap="{{c}}"> 层级视图 </view><view class="{{['child', d && 'action']}}" bindtap="{{e}}"> 流向关系 </view></view><view wx:if="{{f}}" class="bottom"><view class="type flex"><view wx:for="{{g}}" wx:for-item="item" wx:key="i" class="item flex flex1"><view class="{{item.e}}" bindtap="{{item.f}}"><view class="titleNumC">{{item.a}} <text class="{{item.c}}">{{item.b}}</text></view><view class="des">{{item.d}}</view></view><image wx:if="{{item.g}}" class="arrow" src="{{item.h}}" mode="widthFix"></image></view></view><view class="list"><block wx:if="{{h}}"><view wx:for="{{i}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label upstream type">{{item.c}}</view><view class="label upstream market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">影响度</view><view class="progressBgC flex1"><view class="progress upstream" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block><block wx:if="{{j}}"><view wx:for="{{k}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label core type">{{item.c}}</view><view class="label core market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">影响度</view><view class="progressBgC flex1"><view class="progress core" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block><block wx:if="{{l}}"><view wx:for="{{m}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label downstream type">{{item.c}}</view><view class="label downstream market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">影响度</view><view class="progressBgC flex1"><view class="progress downstream" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block></view></view><view wx:if="{{n}}" style="height:500rpx"><l-echart class="r" u-r="chartRef" u-i="4ade4b3d-0" bind:__l="__l"></l-echart></view></view>
|
||||
<view class="cyl_view"><view class="top flex"><view class="child_1">产业链分析</view><view class="child_2">目标公司供应链图谱</view><view class="child_3">节点 {{a}}</view></view><view class="center"><view class="{{['child', b && 'action']}}" bindtap="{{c}}"> 层级视图 </view><view class="{{['child', d && 'action']}}" bindtap="{{e}}"> 流向关系 </view></view><view wx:if="{{f}}" class="bottom"><view class="type flex"><view wx:for="{{g}}" wx:for-item="item" wx:key="i" class="item flex flex1"><view class="{{item.e}}" bindtap="{{item.f}}"><view class="titleNumC">{{item.a}} <text class="{{item.c}}">{{item.b}}</text></view><view class="des">{{item.d}}</view></view><image wx:if="{{item.g}}" class="arrow" src="{{item.h}}" mode="widthFix"></image></view></view><view class="list"><block wx:if="{{h}}"><view wx:for="{{i}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label upstream type">{{item.c}}</view><view class="label upstream market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">重要度</view><view class="progressBgC flex1"><view class="progress upstream" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block><block wx:if="{{j}}"><view wx:for="{{k}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label core type">{{item.c}}</view><view class="label core market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">重要度</view><view class="progressBgC flex1"><view class="progress core" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block><block wx:if="{{l}}"><view wx:for="{{m}}" wx:for-item="item" wx:key="g" class="item" bindtap="{{item.h}}"><view class="title">{{item.a}}</view><view class="des">{{item.b}}</view><view class="labelC flex"><view class="label downstream type">{{item.c}}</view><view class="label downstream market">份额:{{item.d}}%</view></view><view class="importanceC flex"><view class="title">重要度</view><view class="progressBgC flex1"><view class="progress downstream" style="{{'width:' + item.e}}"></view></view><view class="value">{{item.f}}</view></view></view></block></view></view><view wx:if="{{n}}" style="height:500rpx"><l-echart class="r" u-r="chartRef" u-i="4ade4b3d-0" bind:__l="__l"></l-echart></view></view>
|
||||
@@ -37,7 +37,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, item.show ? {
|
||||
d: common_assets._imports_0$6
|
||||
} : {
|
||||
e: common_assets._imports_1$13
|
||||
e: common_assets._imports_1$12
|
||||
}, {
|
||||
f: item.show
|
||||
}, item.show ? {
|
||||
@@ -57,7 +57,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, $data.getRateUpOrDown(fitem.year_on_year) ? {
|
||||
i: common_assets._imports_0$7
|
||||
} : {
|
||||
j: common_assets._imports_1$14
|
||||
j: common_assets._imports_1$13
|
||||
}, {
|
||||
k: common_vendor.t(fitem.year_on_year ? fitem.year_on_year : 0),
|
||||
l: common_vendor.n("chgC flex " + ($data.getRateUpOrDown(fitem.year_on_year) ? "down" : "up")),
|
||||
@@ -80,7 +80,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return common_vendor.e({
|
||||
a: item.impact_metrics.is_positive == 1
|
||||
}, item.impact_metrics.is_positive == 1 ? {
|
||||
b: common_assets._imports_4$13
|
||||
b: common_assets._imports_4$14
|
||||
} : {
|
||||
c: common_assets._imports_5$8
|
||||
}, {
|
||||
|
||||
@@ -42,7 +42,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, pitem.gender == "女" ? {
|
||||
c: common_assets._imports_0$8
|
||||
} : {
|
||||
d: common_assets._imports_1$15
|
||||
d: common_assets._imports_1$14
|
||||
}, {
|
||||
e: common_vendor.n("sexC flexCenter absolute " + (pitem.gender == "女" ? "female" : "male")),
|
||||
f: common_vendor.t(pitem.name),
|
||||
@@ -61,7 +61,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, pitem.gender == "女" ? {
|
||||
c: common_assets._imports_0$8
|
||||
} : {
|
||||
d: common_assets._imports_1$15
|
||||
d: common_assets._imports_1$14
|
||||
}, {
|
||||
e: common_vendor.n("sexC flexCenter absolute " + (pitem.gender == "女" ? "female" : "male")),
|
||||
f: common_vendor.t(pitem.name),
|
||||
|
||||
@@ -51,7 +51,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}, $data.getRateUpOrDown(item.ratio_change) ? {
|
||||
e: common_assets._imports_0$7
|
||||
} : {
|
||||
f: common_assets._imports_1$14
|
||||
f: common_assets._imports_1$13
|
||||
}, {
|
||||
g: common_vendor.t($data.getRateStr(item.ratio_change)),
|
||||
h: common_vendor.n("shengjiang flex " + ($data.getRateUpOrDown(item.ratio_change) ? "down" : "up"))
|
||||
|
||||
@@ -90,7 +90,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
r: common_vendor.o(($event) => $options.clickNewsItem(item), index)
|
||||
});
|
||||
}),
|
||||
g: common_assets._imports_1$16,
|
||||
g: common_assets._imports_1$15,
|
||||
h: common_assets._imports_2$15,
|
||||
i: common_assets._imports_3$13
|
||||
} : {}, {
|
||||
|
||||
@@ -15,7 +15,8 @@ const _sfc_main = {
|
||||
},
|
||||
tooltip: {
|
||||
show: true,
|
||||
triggerOn: "mousemove"
|
||||
triggerOn: "mousemove",
|
||||
confine: true
|
||||
},
|
||||
radar: {
|
||||
indicator: [
|
||||
@@ -95,7 +96,7 @@ const _sfc_main = {
|
||||
methods: {
|
||||
async init() {
|
||||
const chart = await this.$refs.chartRef.init(echarts);
|
||||
common_vendor.index.__f__("log", "at pagesStock/components/zlfx-view/zlfx-view.vue:183", chart);
|
||||
common_vendor.index.__f__("log", "at pagesStock/components/zlfx-view/zlfx-view.vue:184", chart);
|
||||
chart.setOption(this.option);
|
||||
},
|
||||
clickIndustryRank() {
|
||||
|
||||
@@ -44,9 +44,9 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
],
|
||||
dataZoom: [{
|
||||
type: "slider"
|
||||
}],
|
||||
// dataZoom:[{
|
||||
// type:'slider'
|
||||
// }],
|
||||
series: [
|
||||
{
|
||||
type: "bar",
|
||||
@@ -187,6 +187,22 @@ const _sfc_main = {
|
||||
return { text: "一般", color: "orange" };
|
||||
return { text: "较低", color: "red" };
|
||||
},
|
||||
/**
|
||||
* 遍历数组找出对应的营收
|
||||
* @param {Object} pitem
|
||||
*/
|
||||
getTableRevenue(item, pitem) {
|
||||
let index = -1;
|
||||
for (let item1 of pitem.products) {
|
||||
if (item1.content == item.content) {
|
||||
index = pitem.products.indexOf(item1);
|
||||
}
|
||||
}
|
||||
if (index > -1) {
|
||||
return utils_util.getNumStr(pitem.products[index].revenue);
|
||||
} else
|
||||
return "-";
|
||||
},
|
||||
itemClick(index) {
|
||||
common_vendor.index.navigateTo({
|
||||
url: `/pagesStock/stockCenterDetails/cwDetails?index=${index}`
|
||||
@@ -225,30 +241,33 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
} : {}) : {}, {
|
||||
q: common_vendor.sr("chartRef1", "d36e6b92-0"),
|
||||
r: common_vendor.sr("chartRef2", "d36e6b92-1"),
|
||||
s: common_vendor.f(["业务", "毛利率", "利润", "营收", "营收"], (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(item),
|
||||
b: ["", "(2025年中报)", "(2025年中报)", "(2025年中报)", "(2024年年报)"][index].length > 0
|
||||
}, ["", "(2025年中报)", "(2025年中报)", "(2025年中报)", "(2024年年报)"][index].length > 0 ? {
|
||||
c: common_vendor.t(["", "(2025年中报)", "(2025年中报)", "(2025年中报)", "(2024年年报)"][index]),
|
||||
d: index == 0 ? "left" : "center"
|
||||
} : {}, {
|
||||
e: index,
|
||||
f: index == 0 ? "left" : "center",
|
||||
g: index == 0 ? "flex-start" : "center"
|
||||
});
|
||||
}),
|
||||
t: $props.productClassificationList.length > 0
|
||||
s: $props.productClassificationList.length > 0
|
||||
}, $props.productClassificationList.length > 0 ? {
|
||||
v: common_vendor.f($props.productClassificationList[0].products, (item, index, i0) => {
|
||||
t: common_vendor.f($props.productClassificationList[0].products, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.content),
|
||||
b: common_vendor.t(item.profit_margin.toFixed(2)),
|
||||
c: common_vendor.t($data.getNumStr(item.profit)),
|
||||
d: common_vendor.t($data.getNumStr(item.revenue)),
|
||||
e: common_vendor.t(item.content),
|
||||
f: index,
|
||||
g: index % 2 == 0 ? "#FFFFFF" : "#FAFAFC"
|
||||
b: index
|
||||
};
|
||||
}),
|
||||
v: common_vendor.t($props.productClassificationList[0].report_type),
|
||||
w: common_vendor.t($props.productClassificationList[0].report_type),
|
||||
x: common_vendor.f($props.productClassificationList, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.report_type),
|
||||
b: index
|
||||
};
|
||||
}),
|
||||
y: common_vendor.f($props.productClassificationList[0].products, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.profit_margin ? item.profit_margin.toFixed(2) + "%" : "-"),
|
||||
b: common_vendor.t(item.profit ? $data.getNumStr(item.profit) : "-"),
|
||||
c: common_vendor.f($props.productClassificationList, (pitem, pindex, i1) => {
|
||||
return {
|
||||
a: common_vendor.t($options.getTableRevenue(item, pitem)),
|
||||
b: pindex
|
||||
};
|
||||
}),
|
||||
d: index
|
||||
};
|
||||
})
|
||||
} : {});
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view><block wx:if="{{a}}"><view class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;box-sizing:border-box;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#1DB26F;font-size:30rpx">{{b}}</view><view style="margin-top:10rpx">利润增长</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">成长能力</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">增长动力</text></view><view style="margin-top:10rpx"><text>营收增长</text><text style="color:#1DB26F;margin:0 10rpx">{{c}}%</text><text style="{{e}}">({{d}})</text></view></view></view><view class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#F59B38;font-size:30rpx">{{f}}%</view><view style="margin-top:10rpx">ROE</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">盈利与回报</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">赚钱能力</text></view><view style="margin-top:10rpx"><text style="{{h}}">{{g}}</text><text style="margin-left:10rpx">净利率 {{i}}%|毛利率 {{j}}</text></view></view></view><view wx:if="{{k}}" class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#EC3440;font-size:30rpx">{{l}}%</view><view style="margin-top:10rpx">资产负债率</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">风险与运营</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">安全边际</text></view><view style="margin-top:10rpx"><text style="{{n}}">{{m}}</text><text style="margin-left:10rpx">流动比率 {{o}}|研发费用率 {{p}}%</text></view></view></view></block><view style="text-align:center;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx"> 营收与利润趋势</view><view style="height:400rpx"><l-echart class="r" u-r="chartRef1" u-i="d36e6b92-0" bind:__l="__l"></l-echart></view><view style="text-align:left;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx">主营业务 </view><view style="height:400rpx"><l-echart class="r" u-r="chartRef2" u-i="d36e6b92-1" bind:__l="__l"></l-echart></view><view style="text-align:left;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx"> 主营业务明细与历史对比</view><view style="display:grid;grid-template-columns:130rpx repeat(4, 1fr);color:#666666;font-size:20rpx;font-weight:500;background-color:#FAFAFC;margin:20rpx;margin-bottom:0;padding:10rpx;box-sizing:border-box"><view wx:for="{{s}}" wx:for-item="item" wx:key="e" class="flexColumnCenter" style="{{'justify-content:center' + ';' + ('text-align:' + item.f + ';' + ('align-items:' + item.g))}}"><view>{{item.a}}</view><view wx:if="{{item.b}}" style="{{'font-size:18rpx' + ';' + ('text-align:' + item.d)}}">{{item.c}}</view></view></view><block wx:if="{{t}}"><view wx:for="{{v}}" wx:for-item="item" wx:key="f" class="table" style="{{'display:grid;grid-template-columns:130rpx repeat(4, 1fr);margin:0 20rpx;padding:10rpx' + ';' + ('background-color:' + item.g)}}"><view class="item">{{item.a}}</view><view class="item flexCenter">{{item.b}}%</view><view class="item flexCenter">{{item.c}}</view><view class="item flexCenter">{{item.d}}</view><view class="item flexCenter">{{item.e}}</view></view></block><view style="height:80rpx"></view></view>
|
||||
<view><block wx:if="{{a}}"><view class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;box-sizing:border-box;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#1DB26F;font-size:30rpx">{{b}}</view><view style="margin-top:10rpx">利润增长</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">成长能力</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">增长动力</text></view><view style="margin-top:10rpx"><text>营收增长</text><text style="color:#1DB26F;margin:0 10rpx">{{c}}%</text><text style="{{e}}">({{d}})</text></view></view></view><view class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#F59B38;font-size:30rpx">{{f}}%</view><view style="margin-top:10rpx">ROE</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">盈利与回报</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">赚钱能力</text></view><view style="margin-top:10rpx"><text style="{{h}}">{{g}}</text><text style="margin-left:10rpx">净利率 {{i}}%|毛利率 {{j}}</text></view></view></view><view wx:if="{{k}}" class="flex" style="font-size:22rpx;color:#999999;font-weight:500;margin:20rpx;padding:20rpx;border:1rpx solid #F5F5F5;border-radius:10rpx"><view style="width:195rpx"><view style="font-weight:bold;color:#EC3440;font-size:30rpx">{{l}}%</view><view style="margin-top:10rpx">资产负债率</view></view><view><view class="flex"><text style="font-weight:bold;color:#070707;font-size:26rpx;margin-right:10rpx">风险与运营</text><text style="color:#A97F53;font-size:20rpx;padding:2rpx 5rpx;background-color:#F8F4ED;border:1rpx solid #F1E7D8;border-radius:3rpx">安全边际</text></view><view style="margin-top:10rpx"><text style="{{n}}">{{m}}</text><text style="margin-left:10rpx">流动比率 {{o}}|研发费用率 {{p}}%</text></view></view></view></block><view style="text-align:center;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx"> 营收与利润趋势</view><view style="height:400rpx"><l-echart class="r" u-r="chartRef1" u-i="d36e6b92-0" bind:__l="__l"></l-echart></view><view style="text-align:left;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx">主营业务 </view><view style="height:400rpx"><l-echart class="r" u-r="chartRef2" u-i="d36e6b92-1" bind:__l="__l"></l-echart></view><view style="text-align:left;font-size:26rpx;color:#2B2B2B;font-weight:bold;margin:20rpx"> 主营业务明细与历史对比</view><block wx:if="{{s}}"><view class="mainBusinessC flex"><view class="businessList"><view class="heading">业务</view><view class="list"><view wx:for="{{t}}" wx:for-item="item" wx:key="b" class="item flex">{{item.a}}</view></view></view><scroll-view scroll-x class="dataC flex1"><view class="headingList"><view class="heading"><view class="flexColumnCenter"><view>毛利率</view><view>({{v}})</view></view></view><view class="heading"><view class="flexColumnCenter"><view>利润</view><view>({{w}})</view></view></view><block wx:for="{{x}}" wx:for-item="item" wx:key="b"><view class="heading"><view class="flexColumnCenter"><view>营收</view><view>({{item.a}})</view></view></view></block></view><view class="dataList"><view wx:for="{{y}}" wx:for-item="item" wx:key="d" class="dataItem"><view class="rowItem">{{item.a}}</view><view class="rowItem">{{item.b}}</view><view wx:for="{{item.c}}" wx:for-item="pitem" wx:key="b" class="rowItem">{{pitem.a}}</view></view></view></scroll-view></view></block><view style="height:80rpx"></view></view>
|
||||
@@ -6,3 +6,56 @@
|
||||
.table .item.center {
|
||||
text-align: center;
|
||||
}
|
||||
.mainBusinessC {
|
||||
padding: 0 20rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
.mainBusinessC .businessList .heading {
|
||||
background-color: #FAFAFC;
|
||||
padding: 0 20rpx;
|
||||
width: 160rpx;
|
||||
line-height: 80rpx;
|
||||
font-size: 20rpx;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
.mainBusinessC .businessList .list .item {
|
||||
padding: 0 10rpx;
|
||||
height: 60rpx;
|
||||
font-size: 18rpx;
|
||||
font-weight: 500;
|
||||
color: #666;
|
||||
}
|
||||
.mainBusinessC .businessList .list .item:nth-child(2n) {
|
||||
background-color: #FAFAFC;
|
||||
}
|
||||
.mainBusinessC .dataC {
|
||||
width: calc(100% - 160rpx);
|
||||
}
|
||||
.mainBusinessC .dataC .headingList {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.mainBusinessC .dataC .headingList .heading {
|
||||
background-color: #FAFAFC;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 160rpx;
|
||||
height: 80rpx;
|
||||
font-size: 20rpx;
|
||||
color: #666;
|
||||
}
|
||||
.mainBusinessC .dataC .dataList .dataItem {
|
||||
white-space: nowrap;
|
||||
font-size: 20rpx;
|
||||
color: #666;
|
||||
}
|
||||
.mainBusinessC .dataC .dataList .dataItem .rowItem {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
width: 160rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
.mainBusinessC .dataC .dataList .dataItem:nth-child(2n) .rowItem {
|
||||
background-color: #FAFAFC;
|
||||
}
|
||||
|
||||
BIN
unpackage/dist/dev/mp-weixin/pagesStock/static/icon/all-icon-6.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
unpackage/dist/dev/mp-weixin/pagesStock/static/icon/all-icon-7.png
vendored
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
unpackage/dist/dev/mp-weixin/pagesStock/static/icon/all-icon-8.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
unpackage/dist/dev/mp-weixin/pagesStock/static/icon/all-icon-9.png
vendored
Normal file
|
After Width: | Height: | Size: 698 B |
BIN
unpackage/dist/dev/mp-weixin/pagesStock/static/icon/first-icon.png
vendored
Normal file
|
After Width: | Height: | Size: 717 B |
BIN
unpackage/dist/dev/mp-weixin/pagesStock/static/icon/first-icon1.png
vendored
Normal file
|
After Width: | Height: | Size: 701 B |
BIN
unpackage/dist/dev/mp-weixin/pagesStock/static/icon/first-icon2.png
vendored
Normal file
|
After Width: | Height: | Size: 400 B |
@@ -10,45 +10,260 @@ const _sfc_main = {
|
||||
activeIndex: 0,
|
||||
bkList: [],
|
||||
bkFilters: [
|
||||
"按涨幅",
|
||||
"按连板数",
|
||||
"只看龙头"
|
||||
],
|
||||
filterIndex: 0,
|
||||
selectedFullDate: ""
|
||||
selectedFullDate: "",
|
||||
// 年-月-日
|
||||
originData: null,
|
||||
// 原始接口数据
|
||||
allStocks: [],
|
||||
// 所有股票数据(带角色标签)
|
||||
// 角色配置
|
||||
STOCK_ROLES: {
|
||||
dragon: {
|
||||
text: "龙头",
|
||||
color: "#EC3440",
|
||||
bgColor: "#FFE8E9",
|
||||
icon: "/pagesStock/static/icon/first-icon1.png"
|
||||
},
|
||||
follow: {
|
||||
text: "跟风",
|
||||
color: "#F97316",
|
||||
bgColor: "#FFF0E6",
|
||||
icon: "/pagesStock/static/icon/first-icon2.png"
|
||||
},
|
||||
first: {
|
||||
text: "首板",
|
||||
color: "#01AB5D",
|
||||
bgColor: "#E4F9EF",
|
||||
icon: "/pagesStock/static/icon/first-icon.png"
|
||||
},
|
||||
normal: {
|
||||
text: "",
|
||||
color: "",
|
||||
bgColor: "",
|
||||
icon: ""
|
||||
}
|
||||
},
|
||||
// 连板层级样式配置(新规则)
|
||||
BOARD_LEVEL_STYLES: {
|
||||
dragon: {
|
||||
// 5板及以上 龙头
|
||||
color: "#ef4444",
|
||||
bgColor: "#FFE8E9",
|
||||
borderColor: "#ef4444"
|
||||
},
|
||||
high: {
|
||||
// 3-4板 高位
|
||||
color: "#f97316",
|
||||
bgColor: "#FFF0E6",
|
||||
borderColor: "#f97316"
|
||||
},
|
||||
mid: {
|
||||
// 2板 中位
|
||||
color: "#eab308",
|
||||
bgColor: "#FFF9E6",
|
||||
borderColor: "#eab308"
|
||||
},
|
||||
first: {
|
||||
// 1板 首板
|
||||
color: "#22c55e",
|
||||
bgColor: "#E4F9EF",
|
||||
borderColor: "#22c55e"
|
||||
}
|
||||
},
|
||||
// 板块文字颜色配置(新规则)
|
||||
SECTOR_COLOR_RULES: [
|
||||
{ keyword: "公告", color: "#D4AF37" },
|
||||
// 金色
|
||||
{ keyword: "其他", color: "#9CA3AF" },
|
||||
// 灰色
|
||||
{ keyword: ["AI", "人工智能", "芯片"], color: "#8B5CF6" },
|
||||
// 紫色
|
||||
{ keyword: ["锂电", "电池", "新能源"], color: "#10B981" },
|
||||
// 翠绿
|
||||
{ keyword: ["医药", "医疗"], color: "#EC4899" },
|
||||
// 粉色
|
||||
{ keyword: ["金融", "银行"], color: "#F59E0B" },
|
||||
// 橙黄
|
||||
{ keyword: ["军工", "航空"], color: "#EF4444" }
|
||||
// 红色
|
||||
],
|
||||
DEFAULT_SECTOR_COLOR: "#06B6D4"
|
||||
// 默认 青色
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
// 筛选后的股票列表
|
||||
filteredStocks() {
|
||||
var _a;
|
||||
if (!this.allStocks.length)
|
||||
return [];
|
||||
let stocks = [...this.allStocks];
|
||||
if (this.activeIndex >= 0 && this.bkList.length) {
|
||||
const currentSector = (_a = this.bkList[this.activeIndex]) == null ? void 0 : _a.title;
|
||||
if (currentSector) {
|
||||
stocks = stocks.filter((stock) => {
|
||||
const sectorMatch = stock.core_sectors.some((s) => s.includes(currentSector)) || (Array.isArray(stock.sector_category) ? stock.sector_category.includes(currentSector) : stock.sector_category === currentSector);
|
||||
return sectorMatch;
|
||||
});
|
||||
}
|
||||
}
|
||||
switch (this.filterIndex) {
|
||||
case 0:
|
||||
stocks.sort((a, b) => {
|
||||
const aDays = this.parseContinuousDays(a.continuous_days);
|
||||
const bDays = this.parseContinuousDays(b.continuous_days);
|
||||
return bDays - aDays;
|
||||
});
|
||||
break;
|
||||
case 1:
|
||||
stocks = stocks.filter((stock) => this.parseContinuousDays(stock.continuous_days) >= 2);
|
||||
stocks.sort((a, b) => {
|
||||
const aDays = this.parseContinuousDays(a.continuous_days);
|
||||
const bDays = this.parseContinuousDays(b.continuous_days);
|
||||
return bDays - aDays;
|
||||
});
|
||||
break;
|
||||
}
|
||||
return stocks;
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
this.activeIndex = e.index;
|
||||
this.selectedFullDate = e.data;
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:237", "selectedFullDate", this.selectedFullDate);
|
||||
this.contentTop = this.navH + 20 / 750 * common_vendor.inject("windowWidth");
|
||||
this.fetchData();
|
||||
},
|
||||
methods: {
|
||||
getPreviousDayDate(dateStr) {
|
||||
if (!/^\d{4}-\d{2}-\d{2}$/.test(dateStr)) {
|
||||
common_vendor.index.__f__("error", "at pagesStock/stockCenterDetails/bkydmx.vue:104", "日期格式错误,请传入 YYYY-MM-DD 格式的日期");
|
||||
return "";
|
||||
// 解析连板数
|
||||
parseContinuousDays(continuousDaysStr) {
|
||||
if (!continuousDaysStr)
|
||||
return 0;
|
||||
const match = continuousDaysStr.match(/(\d+)天/);
|
||||
return match ? Number(match[1]) : 0;
|
||||
},
|
||||
// 格式化连板文本(适配新层级)
|
||||
formatBoardText(continuousDaysStr) {
|
||||
const boardDays = this.parseContinuousDays(continuousDaysStr);
|
||||
if (boardDays === 1)
|
||||
return "首板";
|
||||
if (boardDays > 1)
|
||||
return `${boardDays}连板`;
|
||||
return "";
|
||||
},
|
||||
// 获取连板标签样式(按新层级规则)
|
||||
getBoardTagStyleByLevel(continuousDaysStr) {
|
||||
const boardDays = this.parseContinuousDays(continuousDaysStr);
|
||||
let styleConfig = {};
|
||||
if (boardDays >= 5) {
|
||||
styleConfig = this.BOARD_LEVEL_STYLES.dragon;
|
||||
} else if (boardDays >= 3 && boardDays <= 4) {
|
||||
styleConfig = this.BOARD_LEVEL_STYLES.high;
|
||||
} else if (boardDays === 2) {
|
||||
styleConfig = this.BOARD_LEVEL_STYLES.mid;
|
||||
} else if (boardDays === 1) {
|
||||
styleConfig = this.BOARD_LEVEL_STYLES.first;
|
||||
}
|
||||
const [year, month, day] = dateStr.split("-").map(Number);
|
||||
const date = new Date(year, month - 1, day);
|
||||
date.setDate(date.getDate() - 2);
|
||||
const prevYear = date.getFullYear();
|
||||
const prevMonth = String(date.getMonth() + 1).padStart(2, "0");
|
||||
const prevDay = String(date.getDate()).padStart(2, "0");
|
||||
return `${prevYear}${prevMonth}${prevDay}`;
|
||||
return {
|
||||
"color": styleConfig.color || "#FFFFFF",
|
||||
"background-color": styleConfig.bgColor || "#eab308",
|
||||
"border": `1rpx solid ${styleConfig.borderColor || "#eab308"}`
|
||||
};
|
||||
},
|
||||
// 获取板块文字颜色(按关键词匹配)
|
||||
getSectorTextColor(sectorName) {
|
||||
if (!sectorName)
|
||||
return this.DEFAULT_SECTOR_COLOR;
|
||||
for (const rule of this.SECTOR_COLOR_RULES) {
|
||||
if (Array.isArray(rule.keyword)) {
|
||||
const isMatch = rule.keyword.some((key) => sectorName.includes(key));
|
||||
if (isMatch)
|
||||
return rule.color;
|
||||
} else {
|
||||
if (sectorName === rule.keyword)
|
||||
return rule.color;
|
||||
}
|
||||
}
|
||||
return this.DEFAULT_SECTOR_COLOR;
|
||||
},
|
||||
// 获取股票角色
|
||||
getStockRole(stock, sectorStocks, sectorIndex) {
|
||||
var _a;
|
||||
const boardDays = this.parseContinuousDays(stock.continuous_days);
|
||||
if (boardDays >= 5) {
|
||||
return this.STOCK_ROLES.dragon;
|
||||
}
|
||||
if (boardDays === 1) {
|
||||
return this.STOCK_ROLES.first;
|
||||
}
|
||||
if (sectorIndex < 3 && boardDays >= 2 && boardDays < 5) {
|
||||
const sortedByTime = [...sectorStocks].sort(
|
||||
(a, b) => (a.zt_time || "").localeCompare(b.zt_time || "")
|
||||
);
|
||||
if (((_a = sortedByTime[0]) == null ? void 0 : _a.scode) === stock.scode && boardDays >= 3) {
|
||||
return this.STOCK_ROLES.dragon;
|
||||
}
|
||||
return this.STOCK_ROLES.follow;
|
||||
}
|
||||
return this.STOCK_ROLES.normal;
|
||||
},
|
||||
// 获取角色标签样式
|
||||
getRoleTagStyle(role) {
|
||||
return {
|
||||
"background-color": role.bgColor
|
||||
};
|
||||
},
|
||||
// 处理板块切换
|
||||
handleTabChange(index) {
|
||||
this.activeIndex = index;
|
||||
this.setStockRoles();
|
||||
},
|
||||
// 处理筛选切换
|
||||
handleFilterChange(index) {
|
||||
this.filterIndex = index;
|
||||
},
|
||||
// 为所有股票添加角色标签
|
||||
setStockRoles() {
|
||||
if (!this.originData || !this.originData.stocks || !this.bkList.length)
|
||||
return;
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:357", "setStockRoles", JSON.stringify(this.originData.stocks));
|
||||
this.allStocks = this.originData.stocks.map((stock) => {
|
||||
let sectorIndex = -1;
|
||||
const stockSectors = Array.isArray(stock.sector_category) ? stock.sector_category : [stock.sector_category];
|
||||
this.bkList.some((bk, idx) => {
|
||||
const match = stockSectors.some((s) => s.includes(bk.title));
|
||||
if (match) {
|
||||
sectorIndex = idx;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
const sectorStocks = this.originData.stocks.filter((s) => {
|
||||
const sSectors = Array.isArray(s.sector_category) ? s.sector_category : [s.sector_category];
|
||||
return sSectors.some((ss) => stockSectors.includes(ss));
|
||||
});
|
||||
const stockRole = this.getStockRole(stock, sectorStocks, sectorIndex);
|
||||
return {
|
||||
...stock,
|
||||
stockRole: stockRole.text ? stockRole : null
|
||||
};
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 请求接口数据(优化:动态日期+自动时间戳)
|
||||
*/
|
||||
// 请求接口数据
|
||||
async fetchData() {
|
||||
try {
|
||||
const timestamp = (/* @__PURE__ */ new Date()).getTime();
|
||||
const formattedDate = this.getPreviousDayDate(this.selectedFullDate);
|
||||
const formattedDate = this.selectedFullDate;
|
||||
const baseURL = request_http.getBaseURL1();
|
||||
const requestUrl = `${baseURL}/data/zt/daily/${formattedDate}.json?t=${timestamp}`;
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:137", "请求URL:", requestUrl);
|
||||
common_vendor.index.__f__("log", "at pagesStock/stockCenterDetails/bkydmx.vue:401", "请求URL:", requestUrl);
|
||||
const res = await common_vendor.index.request({
|
||||
url: requestUrl,
|
||||
method: "GET"
|
||||
@@ -59,19 +274,18 @@ const _sfc_main = {
|
||||
const labels = chartData.labels || [];
|
||||
const counts = chartData.counts || [];
|
||||
const maxCount = counts.length > 0 ? Math.max(...counts) : 0;
|
||||
let bkList = [];
|
||||
const maxLen = Math.min(labels.length, counts.length);
|
||||
let bkList = [];
|
||||
for (let i = 0; i < maxLen; i++) {
|
||||
const title = labels[i];
|
||||
const count = counts[i] || 0;
|
||||
bkList.push({
|
||||
title,
|
||||
// 板块名称
|
||||
count
|
||||
// 数量
|
||||
});
|
||||
}
|
||||
this.bkList = bkList;
|
||||
this.setStockRoles();
|
||||
} else {
|
||||
common_vendor.index.showToast({
|
||||
title: "数据请求失败",
|
||||
@@ -79,7 +293,7 @@ const _sfc_main = {
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
common_vendor.index.__f__("error", "at pagesStock/stockCenterDetails/bkydmx.vue:178", "请求异常:", error);
|
||||
common_vendor.index.__f__("error", "at pagesStock/stockCenterDetails/bkydmx.vue:440", "请求异常:", error);
|
||||
common_vendor.index.showToast({
|
||||
title: "网络异常",
|
||||
icon: "none"
|
||||
@@ -118,7 +332,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
e: common_vendor.f($data.bkFilters, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item),
|
||||
b: common_vendor.o(($event) => $data.filterIndex = index, index),
|
||||
b: common_vendor.o(($event) => $options.handleFilterChange(index), index),
|
||||
c: $data.filterIndex == index ? "#070707" : "#939393",
|
||||
d: $data.filterIndex == index ? "1rpx solid #F2C369" : "1rpx solid #E5E5E5",
|
||||
e: $data.filterIndex == index ? "#F2C369" : "#fff",
|
||||
@@ -132,13 +346,28 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
c: index == 0 ? "left" : "center"
|
||||
};
|
||||
}),
|
||||
g: common_vendor.f(30, (item, index, i0) => {
|
||||
return {
|
||||
a: index % 2 == 0 ? "#fff" : "#FAFAFC"
|
||||
};
|
||||
g: common_vendor.f($options.filteredStocks, (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: item.stockRole
|
||||
}, item.stockRole ? common_vendor.e({
|
||||
b: item.stockRole.icon
|
||||
}, item.stockRole.icon ? {
|
||||
c: item.stockRole.icon
|
||||
} : {}, {
|
||||
d: common_vendor.t(item.stockRole.text),
|
||||
e: item.stockRole.color,
|
||||
f: common_vendor.s($options.getRoleTagStyle(item.stockRole))
|
||||
}) : {}, {
|
||||
g: common_vendor.t(item.sname),
|
||||
h: common_vendor.t($options.formatBoardText(item.continuous_days)),
|
||||
i: common_vendor.s($options.getBoardTagStyleByLevel(item.continuous_days)),
|
||||
j: common_vendor.t(item.core_sectors[0] || "未知板块"),
|
||||
k: $options.getSectorTextColor(item.core_sectors[0] || "未知板块"),
|
||||
l: item.scode,
|
||||
m: index % 2 == 0 ? "#fff" : "#FAFAFC"
|
||||
});
|
||||
}),
|
||||
h: common_assets._imports_1$12,
|
||||
i: common_vendor.s("top:" + $data.contentTop + "px;")
|
||||
h: common_vendor.s("top:" + $data.contentTop + "px;")
|
||||
};
|
||||
}
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view><nav-bar wx:if="{{a}}" u-i="573301e0-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="stockDetailsC fixed" style="{{'background-color:white;border-radius:10rpx;overflow:hidden' + ';' + i}}"><view style="height:86rpx"><scroll-view scroll-x style="white-space:nowrap;height:100%;padding:0 20rpx;box-sizing:border-box" scroll-with-animation scroll-into-view="{{d}}"><view style="display:flex;align-items:center;height:100%;font-weight:500"><view wx:for="{{c}}" wx:for-item="item" wx:key="d" id="{{item.b}}" bindtap="{{item.c}}" style="{{'display:flex;align-items:center;justify-content:center;line-height:85rpx;margin:0 20rpx' + ';' + ('color:' + item.e + ';' + ('border-bottom:' + item.f) + ';' + ('font-size:' + item.g))}}">{{item.a}}</view></view></scroll-view></view><view style="height:1rpx;background-color:#E7E7E7;margin:0 20rpx"></view><view style="height:48rpx;display:grid;grid-template-columns:repeat(3, 1fr);gap:10rpx;margin:23rpx 40rpx"><view wx:for="{{e}}" wx:for-item="item" wx:key="f" bindtap="{{item.b}}" style="{{'height:45rpx;display:flex;align-items:center;justify-content:center;color:#939393;font-size:24rpx;font-weight:500;border-radius:5rpx' + ';' + ('color:' + item.c + ';' + ('border:' + item.d) + ';' + ('background-color:' + item.e))}}">{{item.a}}</view></view><view style="margin:0 20rpx;background-color:#FAFAFC;display:grid;grid-template-columns:35% 20% 20% 25%"><view wx:for="{{f}}" wx:for-item="item" wx:key="b" style="{{'font-size:22rpx;color:#666666;padding:0 15rpx;box-sizing:border-box;font-weight:500;line-height:60rpx' + ';' + ('text-align:' + item.c)}}">{{item.a}}</view></view><scroll-view scroll-y style="position:absolute;top:241rpx;left:0;right:0;bottom:0;font-size:20rpx;font-weight:500"><view wx:for="{{g}}" wx:for-item="item" style="{{'margin:0 20rpx;display:grid;grid-template-columns:35% 20% 20% 25%' + ';' + ('background-color:' + item.a)}}"><view style="display:flex;align-items:center;color:#666666;height:60rpx"><view style="display:flex;align-items:center;background-color:#FFF0E6;border-radius:5rpx;padding:0 10rpx;margin-left:14rpx"><image style="width:15rpx;height:17rpx" src="{{h}}" mode="widthFix"></image><view style="color:#F97316;margin-left:5rpx">跟风</view></view><view style="margin-left:10rpx">康强电子</view></view><view style="display:flex;align-items:center;justify-content:center"><view style="font-size:24rpx;color:#EC3440;font-weight:bold">+10.00%</view></view><view style="display:flex;align-items:center;justify-content:center"><view style="color:#F3B800;padding:0 10rpx;border-radius:5rpx;background-color:#FFF9E6;border:1rpx solid #F3B800;display:flex;align-items:center;justify-content:center">2连板</view></view><view style="display:flex;align-items:center;justify-content:center"><view style="background-color:#F4EFFF;border-radius:5rpx;padding:0 10rpx;color:#8B5CF6">芯片(封装材料)</view></view></view></scroll-view></view></view>
|
||||
<view><nav-bar wx:if="{{a}}" u-i="573301e0-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="stockDetailsC fixed" style="{{'background-color:white;border-radius:10rpx;overflow:hidden' + ';' + h}}"><view style="height:86rpx"><scroll-view scroll-x style="white-space:nowrap;height:100%;padding:0 20rpx;box-sizing:border-box" scroll-with-animation scroll-into-view="{{d}}"><view style="display:flex;align-items:center;height:100%;font-weight:500"><view wx:for="{{c}}" wx:for-item="item" wx:key="d" id="{{item.b}}" bindtap="{{item.c}}" style="{{'display:flex;align-items:center;justify-content:center;line-height:85rpx;margin:0 20rpx' + ';' + ('color:' + item.e + ';' + ('border-bottom:' + item.f) + ';' + ('font-size:' + item.g))}}">{{item.a}}</view></view></scroll-view></view><view style="height:1rpx;background-color:#E7E7E7;margin:0 20rpx"></view><view style="height:48rpx;display:grid;grid-template-columns:repeat(3, 1fr);gap:10rpx;margin:23rpx 40rpx"><view wx:for="{{e}}" wx:for-item="item" wx:key="f" bindtap="{{item.b}}" style="{{'height:45rpx;display:flex;align-items:center;justify-content:center;color:#939393;font-size:24rpx;font-weight:500;border-radius:5rpx' + ';' + ('color:' + item.c + ';' + ('border:' + item.d) + ';' + ('background-color:' + item.e))}}">{{item.a}}</view></view><view style="margin:0 20rpx;background-color:#FAFAFC;display:grid;grid-template-columns:35% 20% 20% 25%"><view wx:for="{{f}}" wx:for-item="item" wx:key="b" style="{{'font-size:22rpx;color:#666666;padding:0 15rpx;box-sizing:border-box;font-weight:500;line-height:60rpx' + ';' + ('text-align:' + item.c)}}">{{item.a}}</view></view><scroll-view scroll-y style="position:absolute;top:241rpx;left:0;right:0;bottom:0;font-size:20rpx;font-weight:500"><view wx:for="{{g}}" wx:for-item="item" wx:key="l" style="{{'margin:0 20rpx;display:grid;grid-template-columns:35% 20% 20% 25%' + ';' + ('background-color:' + item.m)}}"><view style="display:flex;align-items:center;color:#666666;height:60rpx"><view wx:if="{{item.a}}" style="{{'display:flex;align-items:center;border-radius:5rpx;padding:0 10rpx;margin-left:14rpx' + ';' + item.f}}"><image wx:if="{{item.b}}" style="width:15rpx;height:17rpx;margin-right:5rpx" src="{{item.c}}" mode="widthFix"></image><view style="{{'color:' + item.e}}">{{item.d}}</view></view><view style="margin-left:10rpx">{{item.g}}</view></view><view style="display:flex;align-items:center;justify-content:center"><view style="font-size:24rpx;color:#EC3440;font-weight:bold">+10.00%</view></view><view style="display:flex;align-items:center;justify-content:center"><view style="{{'padding:0 10rpx;border-radius:5rpx;display:flex;align-items:center;justify-content:center' + ';' + item.i}}">{{item.h}}</view></view><view style="display:flex;align-items:center;justify-content:center"><view style="{{'background-color:#F4EFFF;border-radius:5rpx;padding:0 10rpx;white-space:nowrap;max-width:120rpx;overflow:hidden;text-overflow:ellipsis' + ';' + ('color:' + item.k)}}">{{item.j}}</view></view></view></scroll-view></view></view>
|
||||
@@ -381,7 +381,10 @@ const _sfc_main = {
|
||||
clickInDepthAnalysisItem(index) {
|
||||
if (this.selectInDepthAnalysis != index) {
|
||||
this.selectInDepthAnalysis = index;
|
||||
if (index == 2) {
|
||||
if (index == 0) {
|
||||
this.getComprehensiveAnalysisData();
|
||||
this.getIndustryRankListData();
|
||||
} else if (index == 2) {
|
||||
this.getValueChainAnalysisData();
|
||||
} else if (index == 3) {
|
||||
this.getKeyFactorsTimelineData();
|
||||
@@ -604,7 +607,7 @@ const _sfc_main = {
|
||||
}
|
||||
request_api.managementTeam(code, { active_only: true }).then((res) => {
|
||||
let data = res.data;
|
||||
let arr = ["高管", "董事", "监事", "其他"];
|
||||
let arr = ["高管", "董事", "监事"];
|
||||
let list = [];
|
||||
for (let item of arr) {
|
||||
list.push({ key: item, list: [] });
|
||||
@@ -1029,7 +1032,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}),
|
||||
aj: $data.isData && $data.isManagementEmpty
|
||||
}, $data.isData && $data.isManagementEmpty ? {
|
||||
ak: common_assets._imports_5$5
|
||||
ak: common_assets._imports_5$6
|
||||
} : {}) : {}, {
|
||||
al: $data.selectCompanyFiles == 2
|
||||
}, $data.selectCompanyFiles == 2 ? common_vendor.e({
|
||||
@@ -1038,7 +1041,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
}),
|
||||
an: $data.isData && $data.branchList.length == 0
|
||||
}, $data.isData && $data.branchList.length == 0 ? {
|
||||
ao: common_assets._imports_5$5
|
||||
ao: common_assets._imports_5$6
|
||||
} : {}) : {}, {
|
||||
ap: $data.selectCompanyFiles == 3
|
||||
}, $data.selectCompanyFiles == 3 ? common_vendor.e({
|
||||
@@ -1050,7 +1053,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
} : {}, {
|
||||
as: $data.isData && !$data.stockBasicInfo
|
||||
}, $data.isData && !$data.stockBasicInfo ? {
|
||||
at: common_assets._imports_5$5
|
||||
at: common_assets._imports_5$6
|
||||
} : {}) : {}) : {}, {
|
||||
av: $data.selectTab == 1
|
||||
}, $data.selectTab == 1 ? common_vendor.e({
|
||||
|
||||
@@ -161,9 +161,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
a: index
|
||||
};
|
||||
}),
|
||||
k: common_assets._imports_1$12,
|
||||
l: common_assets._imports_5$6,
|
||||
m: common_assets._imports_5$6,
|
||||
k: common_assets._imports_4$12,
|
||||
l: common_assets._imports_5$4,
|
||||
m: common_assets._imports_5$4,
|
||||
n: common_vendor.s("top:" + $data.contentTop + "px;")
|
||||
};
|
||||
}
|
||||
|
||||