445 lines
30 KiB
HTML
445 lines
30 KiB
HTML
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>300760.SZ Financial Report</title>
|
|
<style>
|
|
:root {
|
|
--bg: #f5f6fa;
|
|
--card-bg: #ffffff;
|
|
--header-bg: #f7f8fb;
|
|
--section-bg: #f0f2f5;
|
|
--border: #e5e7eb;
|
|
--text-primary: #111827;
|
|
--text-secondary: #6b7280;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
padding: 32px;
|
|
background: var(--bg);
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
color: var(--text-primary);
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.report-container {
|
|
max-width: 1280px;
|
|
margin: 0 auto;
|
|
background: var(--card-bg);
|
|
border-radius: 24px;
|
|
padding: 32px 40px;
|
|
box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
|
|
}
|
|
|
|
h1 {
|
|
margin: 0 0 8px;
|
|
font-size: 28px;
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
p {
|
|
margin: 0 0 24px;
|
|
color: var(--text-secondary);
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
background: var(--card-bg);
|
|
}
|
|
|
|
th,
|
|
td {
|
|
font-size: 0.95rem;
|
|
padding: 12px 16px;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
|
|
th {
|
|
font-weight: 600;
|
|
color: var(--text-secondary);
|
|
text-align: right;
|
|
background: var(--header-bg);
|
|
}
|
|
|
|
th:first-child,
|
|
td:first-child {
|
|
text-align: left;
|
|
}
|
|
|
|
.company-table th,
|
|
.company-table td {
|
|
text-align: left;
|
|
}
|
|
|
|
.metrics-table thead {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 3;
|
|
}
|
|
|
|
.metrics-table thead th {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 3;
|
|
background: var(--card-bg);
|
|
box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
|
|
}
|
|
|
|
.metrics-table thead th:first-child {
|
|
left: 0;
|
|
z-index: 4;
|
|
box-shadow: 16px 0 24px rgba(15, 23, 42, 0.08);
|
|
}
|
|
|
|
.metrics-table th:first-child,
|
|
.metrics-table td:first-child {
|
|
width: 180px;
|
|
min-width: 180px;
|
|
}
|
|
|
|
.metrics-table tbody td:first-child {
|
|
position: sticky;
|
|
left: 0;
|
|
background: var(--card-bg);
|
|
font-weight: 600;
|
|
box-shadow: 16px 0 24px rgba(15, 23, 42, 0.04);
|
|
z-index: 2;
|
|
text-align: left;
|
|
}
|
|
|
|
.metrics-table tbody td:not(:first-child) {
|
|
text-align: right;
|
|
}
|
|
|
|
.metrics-table tr.other-assets-row td {
|
|
background: #fff7e0;
|
|
}
|
|
|
|
.metrics-table tr.other-assets-row td:first-child {
|
|
background: #fff7e0;
|
|
}
|
|
|
|
.metrics-table tbody tr:hover td {
|
|
background: #f4efff;
|
|
}
|
|
|
|
.section-row td {
|
|
background: #eef1f6;
|
|
font-weight: 600;
|
|
text-align: left;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
|
|
.metrics-table .section-row td:first-child {
|
|
position: sticky;
|
|
left: 0;
|
|
z-index: 2;
|
|
box-shadow: 16px 0 24px rgba(15, 23, 42, 0.08);
|
|
background: #eef1f6 !important;
|
|
}
|
|
|
|
.metrics-table .section-label {
|
|
color: var(--text-primary);
|
|
background: #eef1f6 !important;
|
|
}
|
|
|
|
.section-spacer {
|
|
background: #eef1f6;
|
|
}
|
|
|
|
.metric-name {
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.table-container {
|
|
overflow-x: auto;
|
|
border: 1px solid var(--border);
|
|
border-radius: 16px;
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.table-container table {
|
|
margin-bottom: 0;
|
|
min-width: 960px;
|
|
}
|
|
|
|
.table-gap {
|
|
height: 24px;
|
|
}
|
|
|
|
.no-data {
|
|
margin-top: 24px;
|
|
padding: 32px;
|
|
text-align: center;
|
|
border: 1px dashed var(--border);
|
|
border-radius: 16px;
|
|
color: var(--text-secondary);
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
.bg-green { background-color: #e6f7eb !important; }
|
|
.bg-red { background-color: #ffeef0 !important; }
|
|
.font-red { color: #d32f2f !important; }
|
|
.font-green { color: #1b873f !important; }
|
|
.font-blue { color: #2563eb !important; }
|
|
.italic { font-style: italic !important; }
|
|
|
|
@media (max-width: 768px) {
|
|
body { padding: 16px; }
|
|
.report-container { padding: 24px; }
|
|
table { font-size: 0.85rem; }
|
|
th,
|
|
td { padding: 10px 12px; }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="report-container">
|
|
<h1>迈瑞医疗 (300760.SZ) - Financial Report</h1>
|
|
<p><em>Report generated on: 2025-12-18</em></p>
|
|
|
|
<table class="company-table">
|
|
<thead>
|
|
<tr>
|
|
<th>代码</th>
|
|
<th>简称</th>
|
|
<th>上市日期</th>
|
|
<th>PE</th>
|
|
<th>PB</th>
|
|
<th>股息率(%)</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>300760.SZ</td>
|
|
<td>迈瑞医疗</td>
|
|
<td>2018-10-16</td>
|
|
<td>20.55</td>
|
|
<td>6.37</td>
|
|
<td>2.34%</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="table-gap"></div>
|
|
|
|
<table class="metrics-table" data-table="metrics" data-scrollable="true">
|
|
<thead>
|
|
<tr>
|
|
<th>指标</th>
|
|
<th>2025Q3</th><th>2024A</th><th>2023A</th><th>2022A</th><th>2021A</th><th>2020A</th><th>2019A</th><th>2018A</th><th>2017A</th><th>2016A</th><th>2015A</th><th>2014A</th><th>2007A</th><th>2006A</th><th>2005A</th><th>2003A</th><th>2001A</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="section-row"><td class="section-label">主要指标</td><td class="section-spacer" colspan="17"></td></tr>
|
|
<tr><td class="metric-name">ROE</td><td>19.26%</td><td>32.54%</td><td>35.01%</td><td>30.04%</td><td>29.69%</td><td>28.60%</td><td>25.17%</td><td>24.54%</td><td>39.11%</td><td>35.41%</td><td>14.28%</td><td>14.58%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">ROA</td><td>12.77%</td><td>20.60%</td><td>24.16%</td><td>20.55%</td><td>21.00%</td><td>19.99%</td><td>18.26%</td><td>17.20%</td><td>17.93%</td><td>12.34%</td><td>7.36%</td><td>9.32%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">ROCE/ROIC</td><td>-</td><td>34.83%</td><td>37.40%</td><td>32.92%</td><td>33.18%</td><td>31.86%</td><td>27.35%</td><td>27.23%</td><td>38.35%</td><td>17.67%</td><td>10.74%</td><td>10.32%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">毛利率</td><td>61.95%</td><td>63.11%</td><td>66.16%</td><td>64.15%</td><td>65.01%</td><td>64.97%</td><td>65.24%</td><td>66.57%</td><td>67.03%</td><td>64.62%</td><td>62.22%</td><td>63.43%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">净利润率</td><td>29.30%</td><td>31.77%</td><td>33.16%</td><td>31.64%</td><td>31.66%</td><td>31.66%</td><td>28.27%</td><td>27.04%</td><td>23.17%</td><td>17.72%</td><td>11.35%</td><td>17.35%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">收入(亿)</td><td>258.34</td><td>367.26</td><td>349.32</td><td>303.66</td><td>252.70</td><td>210.26</td><td>165.56</td><td>137.53</td><td>111.74</td><td>90.32</td><td>80.13</td><td>78.36</td><td>12.88</td><td>6.87</td><td>4.64</td><td>2.70</td><td>1.00</td></tr>
|
|
<tr><td class="metric-name">收入增速</td><td>-12.38%</td><td>5.14%</td><td>15.04%</td><td>20.17%</td><td>20.18%</td><td>27.00%</td><td>20.38%</td><td>23.09%</td><td>23.72%</td><td>12.71%</td><td>2.26%</td><td>-</td><td>87.61%</td><td>47.89%</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">净利润(亿)</td><td>75.70</td><td>116.68</td><td>115.82</td><td>96.07</td><td>80.02</td><td>66.58</td><td>46.81</td><td>37.19</td><td>25.89</td><td>16.00</td><td>9.10</td><td>13.60</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">净利润增速</td><td>-28.83%</td><td>0.74%</td><td>20.56%</td><td>20.07%</td><td>20.19%</td><td>42.24%</td><td>25.85%</td><td>43.65%</td><td>61.78%</td><td>75.90%</td><td>-33.08%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">经营净现金流(亿)</td><td>72.73</td><td>124.32</td><td>110.62</td><td>121.41</td><td>89.99</td><td>88.70</td><td>47.22</td><td>40.35</td><td>33.00</td><td>30.40</td><td>20.24</td><td>17.41</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">资本开支(亿)</td><td>15.27</td><td>19.59</td><td>26.89</td><td>19.16</td><td>14.02</td><td>11.83</td><td>7.77</td><td>6.78</td><td>4.67</td><td>4.14</td><td>5.95</td><td>5.88</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">自由现金流(亿)</td><td>57.46</td><td>104.73</td><td>83.73</td><td>102.26</td><td>75.96</td><td>76.87</td><td>39.45</td><td>33.56</td><td>28.34</td><td>26.26</td><td>14.28</td><td>11.53</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">分红(亿)</td><td>-</td><td>96.03</td><td>70.32</td><td>54.56</td><td>42.44</td><td>30.39</td><td>18.24</td><td>12.16</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">回购(亿)</td><td>-</td><td>-</td><td>-</td><td>85.70</td><td>50.74</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">总资产(亿)</td><td>592.65</td><td>566.44</td><td>479.40</td><td>467.45</td><td>381.03</td><td>333.06</td><td>256.34</td><td>216.27</td><td>144.38</td><td>129.74</td><td>123.63</td><td>145.81</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">净资产(亿)</td><td>392.98</td><td>358.56</td><td>330.85</td><td>319.81</td><td>269.53</td><td>232.78</td><td>185.93</td><td>151.58</td><td>66.20</td><td>45.20</td><td>63.73</td><td>93.24</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">商誉(亿)</td><td>114.65</td><td>110.93</td><td>50.62</td><td>44.03</td><td>42.18</td><td>12.25</td><td>13.01</td><td>13.76</td><td>13.21</td><td>13.89</td><td>13.14</td><td>13.09</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr class="section-row"><td class="section-label">费用指标</td><td class="section-spacer" colspan="17"></td></tr>
|
|
<tr><td class="metric-name">销售费用率</td><td>14.46%</td><td>14.38%</td><td>16.33%</td><td>15.81%</td><td>15.83%</td><td>17.18%</td><td>21.78%</td><td>23.28%</td><td>24.40%</td><td>26.58%</td><td>27.15%</td><td>26.61%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">管理费用率</td><td>4.05%</td><td>4.36%</td><td>4.36%</td><td>4.35%</td><td>4.38%</td><td>4.27%</td><td>4.62%</td><td>5.20%</td><td>14.90%</td><td>19.74%</td><td>21.93%</td><td>21.51%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">SG&A比例</td><td>18.51%</td><td>18.74%</td><td>20.69%</td><td>20.16%</td><td>20.20%</td><td>21.45%</td><td>26.40%</td><td>28.48%</td><td>39.31%</td><td>46.33%</td><td>49.09%</td><td>48.13%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">研发费用率</td><td>9.43%</td><td>9.98%</td><td>9.83%</td><td>9.62%</td><td>9.99%</td><td>8.89%</td><td>8.85%</td><td>9.21%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">其他费用率</td><td>4.71%</td><td>2.62%</td><td>2.49%</td><td>2.73%</td><td>3.15%</td><td>2.97%</td><td>1.72%</td><td>1.83%</td><td>4.55%</td><td>0.58%</td><td>1.78%</td><td>-2.05%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">折旧费用占比</td><td>-</td><td>1.70%</td><td>1.47%</td><td>1.42%</td><td>1.44%</td><td>1.42%</td><td>1.54%</td><td>1.62%</td><td>1.92%</td><td>2.24%</td><td>2.41%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">所得税率</td><td>12.22%</td><td>9.83%</td><td>11.01%</td><td>12.26%</td><td>11.23%</td><td>10.47%</td><td>12.73%</td><td>12.09%</td><td>11.26%</td><td>12.93%</td><td>13.68%</td><td>4.21%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr class="section-row"><td class="section-label">资产占比</td><td class="section-spacer" colspan="17"></td></tr>
|
|
<tr><td class="metric-name">现金占比</td><td>28.91%</td><td>29.38%</td><td>39.19%</td><td>49.60%</td><td>40.31%</td><td>47.63%</td><td>55.68%</td><td>53.38%</td><td>36.50%</td><td>34.43%</td><td>16.34%</td><td>12.24%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">库存占比</td><td>8.74%</td><td>8.40%</td><td>8.30%</td><td>8.61%</td><td>9.36%</td><td>10.63%</td><td>8.83%</td><td>7.86%</td><td>10.86%</td><td>7.95%</td><td>8.10%</td><td>6.31%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">应收款占比</td><td>6.47%</td><td>5.68%</td><td>6.87%</td><td>5.69%</td><td>4.35%</td><td>4.33%</td><td>6.51%</td><td>7.27%</td><td>9.85%</td><td>7.91%</td><td>9.81%</td><td>9.40%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">预付款占比</td><td>0.54%</td><td>0.53%</td><td>0.56%</td><td>0.62%</td><td>0.62%</td><td>0.62%</td><td>0.54%</td><td>0.57%</td><td>0.74%</td><td>0.71%</td><td>0.69%</td><td>0.42%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">固定资产占比</td><td>12.73%</td><td>12.51%</td><td>11.45%</td><td>9.12%</td><td>9.90%</td><td>9.61%</td><td>10.47%</td><td>11.89%</td><td>17.29%</td><td>16.80%</td><td>15.17%</td><td>12.39%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">长期投资占比</td><td>0.30%</td><td>0.35%</td><td>0.14%</td><td>0.13%</td><td>0.07%</td><td>0.08%</td><td>0.02%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">商誉占比</td><td>19.34%</td><td>19.58%</td><td>10.56%</td><td>9.42%</td><td>11.07%</td><td>3.68%</td><td>5.08%</td><td>6.36%</td><td>9.15%</td><td>10.71%</td><td>10.63%</td><td>8.98%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr class="other-assets-row"><td class="metric-name">其他资产占比</td><td>22.97%</td><td>23.57%</td><td>22.93%</td><td>16.82%</td><td>24.31%</td><td>23.43%</td><td>12.88%</td><td>12.68%</td><td>15.61%</td><td>21.50%</td><td>39.25%</td><td>50.25%</td><td>100.00%</td><td>100.00%</td><td>100.00%</td><td>100.00%</td><td>100.00%</td></tr>
|
|
<tr><td class="metric-name">应付款占比</td><td>5.52%</td><td>4.93%</td><td>5.61%</td><td>4.90%</td><td>5.99%</td><td>4.50%</td><td>4.84%</td><td>4.32%</td><td>6.72%</td><td>4.93%</td><td>4.75%</td><td>3.93%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">预收款占比</td><td>3.82%</td><td>3.82%</td><td>4.12%</td><td>8.86%</td><td>6.32%</td><td>9.89%</td><td>3.85%</td><td>4.64%</td><td>7.90%</td><td>6.73%</td><td>2.89%</td><td>1.32%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">短期借款占比</td><td>0.21%</td><td>0.21%</td><td>0.23%</td><td>0.21%</td><td>0.22%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>12.77%</td><td>14.37%</td><td>12.75%</td><td>2.49%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">长期借款占比</td><td>0.01%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>12.93%</td><td>2.52%</td><td>8.25%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">运营资产占比</td><td>6.41%</td><td>5.85%</td><td>6.00%</td><td>1.15%</td><td>2.03%</td><td>1.19%</td><td>7.18%</td><td>6.74%</td><td>6.83%</td><td>4.91%</td><td>10.96%</td><td>10.89%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td></tr>
|
|
<tr><td class="metric-name">有息负债率</td><td>0.22%</td><td>0.21%</td><td>0.24%</td><td>0.21%</td><td>0.22%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td><td>12.77%</td><td>27.31%</td><td>15.27%</td><td>10.74%</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr class="section-row"><td class="section-label">周转能力</td><td class="section-spacer" colspan="17"></td></tr>
|
|
<tr><td class="metric-name">存货周转天数</td><td>192</td><td>128</td><td>122</td><td>134</td><td>147</td><td>175</td><td>143</td><td>134</td><td>155</td><td>117</td><td>120</td><td>117</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">应收款周转天数</td><td>54</td><td>31</td><td>34</td><td>31</td><td>23</td><td>25</td><td>36</td><td>41</td><td>46</td><td>41</td><td>55</td><td>63</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">应付款周转天数</td><td>121</td><td>75</td><td>83</td><td>76</td><td>94</td><td>74</td><td>78</td><td>74</td><td>96</td><td>73</td><td>70</td><td>72</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">固定资产周转率</td><td>3.43</td><td>5.18</td><td>6.36</td><td>7.13</td><td>6.70</td><td>6.57</td><td>6.17</td><td>5.35</td><td>4.48</td><td>4.14</td><td>4.27</td><td>4.34</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">总资产周转率</td><td>0.44</td><td>0.65</td><td>0.73</td><td>0.65</td><td>0.66</td><td>0.63</td><td>0.65</td><td>0.64</td><td>0.77</td><td>0.70</td><td>0.65</td><td>0.54</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr class="section-row"><td class="section-label">人均效率</td><td class="section-spacer" colspan="17"></td></tr>
|
|
<tr><td class="metric-name">员工人数</td><td>-</td><td>21,667</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">人均创收(万)</td><td>-</td><td>169.50</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">人均创利(万)</td><td>-</td><td>53.85</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">人均薪酬(万)</td><td>-</td><td>37.47</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr class="section-row"><td class="section-label">市场表现</td><td class="section-spacer" colspan="17"></td></tr>
|
|
<tr><td class="metric-name">股价</td><td>197.77</td><td>255.00</td><td>290.60</td><td>315.97</td><td>380.80</td><td>426.00</td><td>181.90</td><td>109.22</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">市值(亿)</td><td>2,398</td><td>3,092</td><td>3,523</td><td>3,831</td><td>4,629</td><td>5,179</td><td>2,211</td><td>1,328</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">PE</td><td>20.55</td><td>26.69</td><td>36.67</td><td>47.88</td><td>69.53</td><td>110.64</td><td>59.46</td><td>51.28</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">PB</td><td>6.37</td><td>8.81</td><td>11.15</td><td>12.68</td><td>17.94</td><td>23.49</td><td>12.56</td><td>9.27</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">股东户数</td><td>108,835</td><td>82,745</td><td>60,947</td><td>65,619</td><td>65,757</td><td>69,782</td><td>41,672</td><td>49,869</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const scrollableTables = document.querySelectorAll('table[data-scrollable="true"]');
|
|
scrollableTables.forEach(table => {
|
|
const container = document.createElement('div');
|
|
container.className = 'table-container';
|
|
table.parentNode.insertBefore(container, table);
|
|
container.appendChild(table);
|
|
});
|
|
|
|
const parseValue = (text) => {
|
|
if (!text || text.trim() === '-') return null;
|
|
return parseFloat(text.replace(/%|,/g, ''));
|
|
};
|
|
|
|
const highlightIfOverThirtyPercent = (cell) => {
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null && value > 30) {
|
|
cell.classList.add('bg-red', 'font-red');
|
|
}
|
|
};
|
|
|
|
const styleRules = {
|
|
'ROE': (cell) => {
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null && value > 15) cell.classList.add('bg-green');
|
|
},
|
|
'ROA': (cell) => {
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null && value > 10) cell.classList.add('bg-green');
|
|
},
|
|
'毛利率': (cell) => {
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null && value > 50) cell.classList.add('bg-green');
|
|
},
|
|
'净利润率': (cell) => {
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null) {
|
|
if (value > 20) {
|
|
cell.classList.add('bg-green');
|
|
} else if (value < 0) {
|
|
cell.classList.add('bg-red', 'font-red');
|
|
}
|
|
}
|
|
},
|
|
'收入增速': (cell) => {
|
|
cell.classList.add('italic');
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null) {
|
|
if (value > 15) {
|
|
cell.classList.add('bg-green', 'font-green');
|
|
} else if (value < 0) {
|
|
cell.classList.add('bg-red', 'font-red');
|
|
} else {
|
|
cell.classList.add('font-blue');
|
|
}
|
|
}
|
|
},
|
|
'净利润增速': (cell) => {
|
|
cell.classList.add('italic');
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null) {
|
|
if (value > 15) {
|
|
cell.classList.add('bg-green', 'font-green');
|
|
} else if (value < 0) {
|
|
cell.classList.add('bg-red', 'font-red');
|
|
} else {
|
|
cell.classList.add('font-blue');
|
|
}
|
|
}
|
|
},
|
|
'经营净现金流(亿)': (cell) => {
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null && value < 0) cell.classList.add('bg-red', 'font-red');
|
|
},
|
|
'应收款周转天数': (cell) => {
|
|
const value = parseValue(cell.textContent);
|
|
if (value !== null && value > 90) {
|
|
cell.classList.add('bg-red', 'font-red');
|
|
}
|
|
},
|
|
'现金占比': highlightIfOverThirtyPercent,
|
|
'库存占比': highlightIfOverThirtyPercent,
|
|
'应收款占比': highlightIfOverThirtyPercent,
|
|
'预付款占比': highlightIfOverThirtyPercent,
|
|
'固定资产占比': highlightIfOverThirtyPercent,
|
|
'长期投资占比': highlightIfOverThirtyPercent,
|
|
'商誉占比': highlightIfOverThirtyPercent,
|
|
'其他资产占比': highlightIfOverThirtyPercent
|
|
};
|
|
|
|
const metricsTables = document.querySelectorAll('table[data-table="metrics"]');
|
|
metricsTables.forEach(table => {
|
|
let netProfitValues = [];
|
|
let fcfRow = null;
|
|
const rows = table.querySelectorAll('tbody tr');
|
|
rows.forEach(row => {
|
|
if (row.classList.contains('section-row')) return;
|
|
const metricCell = row.querySelector('td:first-child');
|
|
if (!metricCell) return;
|
|
const metricName = metricCell.textContent.trim();
|
|
if (metricName === '净利润(亿)') {
|
|
row.querySelectorAll('td:not(:first-child)').forEach(cell => {
|
|
netProfitValues.push(parseValue(cell.textContent));
|
|
});
|
|
} else if (metricName === '自由现金流(亿)') {
|
|
fcfRow = row;
|
|
}
|
|
});
|
|
|
|
rows.forEach(row => {
|
|
if (row.classList.contains('section-row')) return;
|
|
const metricCell = row.querySelector('td:first-child');
|
|
if (!metricCell) return;
|
|
const metricName = metricCell.textContent.trim();
|
|
const cells = row.querySelectorAll('td:not(:first-child)');
|
|
if (styleRules[metricName]) {
|
|
cells.forEach(cell => {
|
|
styleRules[metricName](cell);
|
|
});
|
|
}
|
|
if (row === fcfRow && netProfitValues.length > 0) {
|
|
cells.forEach((cell, index) => {
|
|
const fcfValue = parseValue(cell.textContent);
|
|
const netProfitValue = netProfitValues[index];
|
|
if (fcfValue !== null) {
|
|
if (fcfValue < 0) {
|
|
cell.classList.add('bg-red', 'font-red');
|
|
} else if (netProfitValue !== null && fcfValue > netProfitValue) {
|
|
cell.classList.add('bg-green', 'font-green');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|