更新Company页面的UI为FUI风格
This commit is contained in:
17
app.py
17
app.py
@@ -8686,6 +8686,8 @@ def get_stock_quote_detail(stock_code):
|
|||||||
'eps': None,
|
'eps': None,
|
||||||
'market_cap': None,
|
'market_cap': None,
|
||||||
'circ_mv': None,
|
'circ_mv': None,
|
||||||
|
'total_shares': None, # 发行总股本(亿股)
|
||||||
|
'float_shares': None, # 流通股本(亿股)
|
||||||
'turnover_rate': None,
|
'turnover_rate': None,
|
||||||
'week52_high': None,
|
'week52_high': None,
|
||||||
'week52_low': None,
|
'week52_low': None,
|
||||||
@@ -8746,9 +8748,22 @@ def get_stock_quote_detail(stock_code):
|
|||||||
result_data['industry_l1'] = row.get('industry_l1') or ''
|
result_data['industry_l1'] = row.get('industry_l1') or ''
|
||||||
result_data['industry'] = row.get('sw_industry_l2') or row.get('sw_industry_l1') or ''
|
result_data['industry'] = row.get('sw_industry_l2') or row.get('sw_industry_l1') or ''
|
||||||
|
|
||||||
# 计算流通市值(亿元)
|
# 计算股本和市值
|
||||||
|
total_shares = float(row.get('total_shares') or 0)
|
||||||
float_shares = float(row.get('float_shares') or 0)
|
float_shares = float(row.get('float_shares') or 0)
|
||||||
close_price = float(row.get('close_price') or 0)
|
close_price = float(row.get('close_price') or 0)
|
||||||
|
|
||||||
|
# 发行总股本(亿股)
|
||||||
|
if total_shares > 0:
|
||||||
|
total_shares_yi = total_shares / 100000000 # 转为亿股
|
||||||
|
result_data['total_shares'] = round(total_shares_yi, 2)
|
||||||
|
|
||||||
|
# 流通股本(亿股)
|
||||||
|
if float_shares > 0:
|
||||||
|
float_shares_yi = float_shares / 100000000 # 转为亿股
|
||||||
|
result_data['float_shares'] = round(float_shares_yi, 2)
|
||||||
|
|
||||||
|
# 计算流通市值(亿元)
|
||||||
if float_shares > 0 and close_price > 0:
|
if float_shares > 0 and close_price > 0:
|
||||||
circ_mv = (float_shares * close_price) / 100000000 # 转为亿
|
circ_mv = (float_shares * close_price) / 100000000 # 转为亿
|
||||||
result_data['circ_mv'] = round(circ_mv, 2)
|
result_data['circ_mv'] = round(circ_mv, 2)
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ export interface KeyMetricsProps {
|
|||||||
eps?: number;
|
eps?: number;
|
||||||
pb: number;
|
pb: number;
|
||||||
marketCap: string;
|
marketCap: string;
|
||||||
|
totalShares?: number; // 发行总股本(亿股)
|
||||||
|
floatShares?: number; // 流通股本(亿股)
|
||||||
week52Low: number;
|
week52Low: number;
|
||||||
week52High: number;
|
week52High: number;
|
||||||
}
|
}
|
||||||
@@ -22,6 +24,8 @@ export const KeyMetrics: React.FC<KeyMetricsProps> = memo(({
|
|||||||
eps,
|
eps,
|
||||||
pb,
|
pb,
|
||||||
marketCap,
|
marketCap,
|
||||||
|
totalShares,
|
||||||
|
floatShares,
|
||||||
week52Low,
|
week52Low,
|
||||||
week52High,
|
week52High,
|
||||||
}) => {
|
}) => {
|
||||||
@@ -62,6 +66,12 @@ export const KeyMetrics: React.FC<KeyMetricsProps> = memo(({
|
|||||||
{marketCap}
|
{marketCap}
|
||||||
</Text>
|
</Text>
|
||||||
</HStack>
|
</HStack>
|
||||||
|
<HStack justify="space-between">
|
||||||
|
<Text color={labelColor}>发行总股本:</Text>
|
||||||
|
<Text color={valueColor} fontWeight="bold" fontSize="16px">
|
||||||
|
{totalShares ? `${totalShares}亿股` : '-'}
|
||||||
|
</Text>
|
||||||
|
</HStack>
|
||||||
<HStack justify="space-between">
|
<HStack justify="space-between">
|
||||||
<Text color={labelColor}>52周波动:</Text>
|
<Text color={labelColor}>52周波动:</Text>
|
||||||
<Text color={valueColor} fontWeight="bold" fontSize="16px">
|
<Text color={valueColor} fontWeight="bold" fontSize="16px">
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ const transformQuoteData = (apiData: any, stockCode: string): StockQuoteCardData
|
|||||||
eps: apiData.eps || apiData.basic_eps || undefined,
|
eps: apiData.eps || apiData.basic_eps || undefined,
|
||||||
pb: apiData.pb || apiData.pb_mrq || 0,
|
pb: apiData.pb || apiData.pb_mrq || 0,
|
||||||
marketCap: apiData.market_cap || apiData.marketCap || apiData.circ_mv || '0',
|
marketCap: apiData.market_cap || apiData.marketCap || apiData.circ_mv || '0',
|
||||||
|
totalShares: apiData.total_shares || apiData.totalShares || undefined,
|
||||||
|
floatShares: apiData.float_shares || apiData.floatShares || undefined,
|
||||||
week52Low: apiData.week52_low || apiData.week52Low || 0,
|
week52Low: apiData.week52_low || apiData.week52Low || 0,
|
||||||
week52High: apiData.week52_high || apiData.week52High || 0,
|
week52High: apiData.week52_high || apiData.week52High || 0,
|
||||||
|
|
||||||
|
|||||||
@@ -133,6 +133,8 @@ const StockQuoteCard: React.FC<StockQuoteCardProps> = ({
|
|||||||
eps={quoteData.eps}
|
eps={quoteData.eps}
|
||||||
pb={quoteData.pb}
|
pb={quoteData.pb}
|
||||||
marketCap={quoteData.marketCap}
|
marketCap={quoteData.marketCap}
|
||||||
|
totalShares={quoteData.totalShares}
|
||||||
|
floatShares={quoteData.floatShares}
|
||||||
week52Low={quoteData.week52Low}
|
week52Low={quoteData.week52Low}
|
||||||
week52High={quoteData.week52High}
|
week52High={quoteData.week52High}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ export interface StockQuoteCardData {
|
|||||||
eps?: number; // 每股收益
|
eps?: number; // 每股收益
|
||||||
pb: number; // 市净率
|
pb: number; // 市净率
|
||||||
marketCap: string; // 流通市值(已格式化,如 "2.73万亿")
|
marketCap: string; // 流通市值(已格式化,如 "2.73万亿")
|
||||||
|
totalShares?: number; // 发行总股本(亿股)
|
||||||
|
floatShares?: number; // 流通股本(亿股)
|
||||||
week52Low: number; // 52周最低
|
week52Low: number; // 52周最低
|
||||||
week52High: number; // 52周最高
|
week52High: number; // 52周最高
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user