431 lines
30 KiB
HTML
431 lines
30 KiB
HTML
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>AAPL 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>Apple Inc (AAPL) - Financial Report</h1>
|
|
<p><em>Report generated on: 2025-12-21</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>AAPL</td>
|
|
<td>Apple Inc</td>
|
|
<td>September</td>
|
|
<td>36.64</td>
|
|
<td>54.55</td>
|
|
<td>0.37%</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="table-gap"></div>
|
|
|
|
<table class="metrics-table" data-table="metrics" data-scrollable="true">
|
|
<thead>
|
|
<tr>
|
|
<th>指标</th>
|
|
<th>2025-09-30</th><th>2024-09-30</th><th>2023-09-30</th><th>2022-09-30</th><th>2021-09-30</th><th>2020-09-30</th><th>2019-09-30</th><th>2018-09-30</th><th>2017-09-30</th><th>2016-09-30</th><th>2015-09-30</th><th>2014-09-30</th><th>2013-09-30</th><th>2012-09-30</th><th>2011-09-30</th><th>2010-09-30</th><th>2009-09-30</th><th>2008-09-30</th><th>2007-09-30</th><th>2006-09-30</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="section-row"><td class="section-label">主要指标</td><td class="section-spacer" colspan="20"></td></tr>
|
|
<tr><td class="metric-name">ROE</td><td>151.91%</td><td>164.59%</td><td>156.08%</td><td>196.96%</td><td>150.07%</td><td>87.87%</td><td>61.06%</td><td>55.56%</td><td>36.07%</td><td>35.62%</td><td>44.74%</td><td>35.42%</td><td>29.98%</td><td>35.30%</td><td>33.83%</td><td>29.32%</td><td>29.59%</td><td>22.99%</td><td>24.05%</td><td>19.92%</td></tr>
|
|
<tr><td class="metric-name">ROA</td><td>31.18%</td><td>25.68%</td><td>27.51%</td><td>28.29%</td><td>26.97%</td><td>17.73%</td><td>16.32%</td><td>16.28%</td><td>12.88%</td><td>14.20%</td><td>18.38%</td><td>17.04%</td><td>17.89%</td><td>23.70%</td><td>22.28%</td><td>18.64%</td><td>15.29%</td><td>12.22%</td><td>13.79%</td><td>11.56%</td></tr>
|
|
<tr><td class="metric-name">ROCE/ROIC</td><td>68.87%</td><td>66.21%</td><td>60.46%</td><td>62.26%</td><td>54.99%</td><td>36.53%</td><td>32.27%</td><td>31.41%</td><td>24.76%</td><td>27.69%</td><td>39.31%</td><td>29.57%</td><td>33.94%</td><td>44.78%</td><td>41.60%</td><td>36.58%</td><td>39.42%</td><td>29.29%</td><td>26.98%</td><td>21.33%</td></tr>
|
|
<tr><td class="metric-name">毛利率</td><td>46.91%</td><td>46.21%</td><td>44.13%</td><td>43.31%</td><td>41.78%</td><td>38.23%</td><td>37.82%</td><td>38.34%</td><td>38.47%</td><td>39.08%</td><td>40.06%</td><td>38.59%</td><td>37.62%</td><td>43.87%</td><td>40.48%</td><td>39.38%</td><td>40.14%</td><td>34.31%</td><td>33.97%</td><td>28.98%</td></tr>
|
|
<tr><td class="metric-name">净利润率</td><td>26.92%</td><td>23.97%</td><td>25.31%</td><td>25.31%</td><td>25.88%</td><td>20.91%</td><td>21.24%</td><td>22.41%</td><td>21.09%</td><td>21.19%</td><td>22.85%</td><td>21.61%</td><td>21.67%</td><td>26.67%</td><td>23.95%</td><td>21.48%</td><td>19.19%</td><td>14.88%</td><td>14.56%</td><td>10.30%</td></tr>
|
|
<tr><td class="metric-name">收入(亿)</td><td>4,161.61</td><td>3,910.35</td><td>3,832.85</td><td>3,943.28</td><td>3,658.17</td><td>2,745.15</td><td>2,601.74</td><td>2,655.95</td><td>2,292.34</td><td>2,156.39</td><td>2,337.15</td><td>1,827.95</td><td>1,709.10</td><td>1,565.08</td><td>1,082.49</td><td>652.25</td><td>429.05</td><td>324.79</td><td>240.06</td><td>193.15</td></tr>
|
|
<tr><td class="metric-name">收入增速</td><td>6.43%</td><td>2.02%</td><td>-2.80%</td><td>7.79%</td><td>33.26%</td><td>5.51%</td><td>-2.04%</td><td>15.86%</td><td>6.30%</td><td>-7.73%</td><td>27.86%</td><td>6.95%</td><td>9.20%</td><td>44.58%</td><td>65.96%</td><td>52.02%</td><td>32.10%</td><td>35.30%</td><td>24.29%</td><td>-</td></tr>
|
|
<tr><td class="metric-name">净利润(亿)</td><td>1,120.10</td><td>937.36</td><td>969.95</td><td>998.03</td><td>946.80</td><td>574.11</td><td>552.56</td><td>595.31</td><td>483.51</td><td>456.87</td><td>533.94</td><td>395.10</td><td>370.37</td><td>417.33</td><td>259.22</td><td>140.13</td><td>82.35</td><td>48.34</td><td>34.95</td><td>19.89</td></tr>
|
|
<tr><td class="metric-name">净利润增速</td><td>19.50%</td><td>-3.36%</td><td>-2.81%</td><td>5.41%</td><td>64.92%</td><td>3.90%</td><td>-7.18%</td><td>23.12%</td><td>5.83%</td><td>-14.43%</td><td>35.14%</td><td>6.68%</td><td>-11.25%</td><td>60.99%</td><td>84.99%</td><td>70.16%</td><td>70.36%</td><td>38.31%</td><td>75.72%</td><td>-</td></tr>
|
|
<tr><td class="metric-name">经营净现金流(亿)</td><td>1,114.82</td><td>1,182.54</td><td>1,105.43</td><td>1,221.51</td><td>1,040.38</td><td>806.74</td><td>693.91</td><td>774.34</td><td>635.98</td><td>658.24</td><td>812.66</td><td>597.13</td><td>536.66</td><td>508.56</td><td>375.29</td><td>185.95</td><td>101.59</td><td>95.96</td><td>54.70</td><td>22.20</td></tr>
|
|
<tr><td class="metric-name">资本开支(亿)</td><td>127.15</td><td>94.47</td><td>109.59</td><td>107.08</td><td>110.85</td><td>73.09</td><td>104.95</td><td>133.13</td><td>124.51</td><td>127.34</td><td>112.47</td><td>95.71</td><td>81.65</td><td>82.95</td><td>42.60</td><td>20.05</td><td>11.44</td><td>10.91</td><td>7.35</td><td>6.57</td></tr>
|
|
<tr><td class="metric-name">自由现金流(亿)</td><td>987.67</td><td>1,088.07</td><td>995.84</td><td>1,114.43</td><td>929.53</td><td>733.65</td><td>588.96</td><td>641.21</td><td>511.47</td><td>530.90</td><td>700.19</td><td>501.42</td><td>455.01</td><td>425.61</td><td>332.69</td><td>165.90</td><td>90.15</td><td>85.05</td><td>47.35</td><td>15.63</td></tr>
|
|
<tr><td class="metric-name">分红(亿)</td><td>154.21</td><td>152.34</td><td>150.25</td><td>148.41</td><td>144.67</td><td>140.81</td><td>141.19</td><td>137.12</td><td>127.69</td><td>121.50</td><td>115.61</td><td>111.26</td><td>105.64</td><td>24.88</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">总资产(亿)</td><td>3,592.41</td><td>3,649.80</td><td>3,525.83</td><td>3,527.55</td><td>3,510.02</td><td>3,238.88</td><td>3,385.16</td><td>3,657.25</td><td>3,753.19</td><td>3,216.86</td><td>2,904.79</td><td>2,318.39</td><td>2,070.00</td><td>1,760.64</td><td>1,163.71</td><td>751.83</td><td>538.51</td><td>395.72</td><td>253.47</td><td>172.05</td></tr>
|
|
<tr><td class="metric-name">净资产(亿)</td><td>737.33</td><td>569.50</td><td>621.46</td><td>506.72</td><td>630.90</td><td>653.39</td><td>904.88</td><td>1,071.47</td><td>1,340.47</td><td>1,282.49</td><td>1,193.55</td><td>1,115.47</td><td>1,235.49</td><td>1,182.10</td><td>766.15</td><td>477.91</td><td>278.32</td><td>210.30</td><td>145.32</td><td>99.84</td></tr>
|
|
<tr><td class="metric-name">商誉(亿)</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>57.17</td><td>54.14</td><td>51.16</td><td>46.16</td><td>15.77</td><td>11.35</td><td>8.96</td><td>7.41</td><td>2.06</td><td>2.07</td><td>0.38</td><td>0.38</td></tr>
|
|
<tr class="section-row"><td class="section-label">费用指标</td><td class="section-spacer" colspan="20"></td></tr>
|
|
<tr><td class="metric-name">SG&A比例</td><td>6.63%</td><td>6.67%</td><td>6.50%</td><td>6.36%</td><td>6.01%</td><td>7.25%</td><td>7.01%</td><td>6.29%</td><td>6.66%</td><td>6.58%</td><td>6.13%</td><td>6.56%</td><td>5.69%</td><td>5.78%</td><td>7.02%</td><td>8.46%</td><td>9.67%</td><td>11.58%</td><td>12.34%</td><td>12.60%</td></tr>
|
|
<tr><td class="metric-name">研发费用率</td><td>8.30%</td><td>8.02%</td><td>7.80%</td><td>6.66%</td><td>5.99%</td><td>6.83%</td><td>6.23%</td><td>5.36%</td><td>5.05%</td><td>4.66%</td><td>3.45%</td><td>3.30%</td><td>2.62%</td><td>2.16%</td><td>2.24%</td><td>2.73%</td><td>3.11%</td><td>3.41%</td><td>3.26%</td><td>3.69%</td></tr>
|
|
<tr><td class="metric-name">其他费用率</td><td>5.06%</td><td>7.54%</td><td>4.52%</td><td>4.98%</td><td>3.90%</td><td>3.23%</td><td>3.33%</td><td>4.28%</td><td>5.67%</td><td>6.65%</td><td>7.63%</td><td>7.11%</td><td>7.64%</td><td>9.27%</td><td>7.27%</td><td>6.70%</td><td>8.17%</td><td>4.44%</td><td>3.81%</td><td>2.40%</td></tr>
|
|
<tr><td class="metric-name">折旧费用占比</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><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">所得税率</td><td>15.61%</td><td>24.09%</td><td>14.72%</td><td>16.20%</td><td>13.30%</td><td>14.43%</td><td>15.94%</td><td>18.34%</td><td>24.56%</td><td>25.56%</td><td>26.37%</td><td>26.13%</td><td>26.15%</td><td>25.16%</td><td>24.22%</td><td>24.42%</td><td>31.75%</td><td>29.89%</td><td>30.19%</td><td>29.42%</td></tr>
|
|
<tr class="section-row"><td class="section-label">资产占比</td><td class="section-spacer" colspan="20"></td></tr>
|
|
<tr><td class="metric-name">现金占比</td><td>10.00%</td><td>8.20%</td><td>8.50%</td><td>6.70%</td><td>9.95%</td><td>11.74%</td><td>14.43%</td><td>7.09%</td><td>5.41%</td><td>6.37%</td><td>7.27%</td><td>5.97%</td><td>6.89%</td><td>6.10%</td><td>8.43%</td><td>14.98%</td><td>9.77%</td><td>30.01%</td><td>36.90%</td><td>37.15%</td></tr>
|
|
<tr><td class="metric-name">库存占比</td><td>1.59%</td><td>2.00%</td><td>1.80%</td><td>1.40%</td><td>1.87%</td><td>1.25%</td><td>1.21%</td><td>1.08%</td><td>1.29%</td><td>0.66%</td><td>0.81%</td><td>0.91%</td><td>0.85%</td><td>0.45%</td><td>0.67%</td><td>1.40%</td><td>0.84%</td><td>1.29%</td><td>1.37%</td><td>1.57%</td></tr>
|
|
<tr><td class="metric-name">应收款占比</td><td>20.31%</td><td>18.15%</td><td>8.37%</td><td>7.99%</td><td>7.49%</td><td>4.98%</td><td>6.77%</td><td>6.34%</td><td>0.56%</td><td>0.16%</td><td>0.14%</td><td>1.83%</td><td>1.05%</td><td>3.15%</td><td>4.61%</td><td>7.33%</td><td>6.24%</td><td>6.12%</td><td>15.90%</td><td>16.54%</td></tr>
|
|
<tr><td class="metric-name">预付款占比</td><td>4.06%</td><td>3.91%</td><td>4.17%</td><td>6.02%</td><td>4.02%</td><td>3.48%</td><td>3.65%</td><td>3.30%</td><td>3.71%</td><td>2.57%</td><td>3.28%</td><td>4.23%</td><td>3.32%</td><td>3.67%</td><td>3.89%</td><td>4.58%</td><td>12.78%</td><td>14.71%</td><td>3.93%</td><td>2.73%</td></tr>
|
|
<tr><td class="metric-name">固定资产占比</td><td>16.99%</td><td>15.32%</td><td>12.40%</td><td>11.94%</td><td>11.24%</td><td>11.35%</td><td>11.04%</td><td>11.29%</td><td>9.00%</td><td>8.40%</td><td>7.74%</td><td>8.90%</td><td>8.02%</td><td>8.78%</td><td>6.68%</td><td>6.34%</td><td>5.49%</td><td>6.20%</td><td>7.23%</td><td>7.45%</td></tr>
|
|
<tr><td class="metric-name">长期投资占比</td><td>21.64%</td><td>25.06%</td><td>28.52%</td><td>34.25%</td><td>36.43%</td><td>31.15%</td><td>31.12%</td><td>46.70%</td><td>51.88%</td><td>52.98%</td><td>56.48%</td><td>56.14%</td><td>51.31%</td><td>52.32%</td><td>47.79%</td><td>33.77%</td><td>19.55%</td><td>-</td><td>-</td><td>-</td></tr>
|
|
<tr><td class="metric-name">商誉占比</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>1.52%</td><td>1.68%</td><td>1.76%</td><td>1.99%</td><td>0.76%</td><td>0.64%</td><td>0.77%</td><td>0.99%</td><td>0.38%</td><td>0.52%</td><td>0.15%</td><td>0.22%</td></tr>
|
|
<tr class="other-assets-row"><td class="metric-name">其他资产占比</td><td>25.41%</td><td>27.35%</td><td>36.25%</td><td>31.70%</td><td>29.00%</td><td>36.05%</td><td>31.78%</td><td>24.19%</td><td>26.63%</td><td>27.17%</td><td>22.52%</td><td>20.03%</td><td>27.79%</td><td>24.88%</td><td>27.15%</td><td>30.61%</td><td>44.94%</td><td>41.15%</td><td>34.54%</td><td>34.35%</td></tr>
|
|
<tr><td class="metric-name">应付款占比</td><td>19.45%</td><td>18.89%</td><td>17.76%</td><td>18.18%</td><td>15.60%</td><td>13.06%</td><td>13.66%</td><td>15.28%</td><td>13.07%</td><td>11.59%</td><td>12.22%</td><td>13.02%</td><td>10.81%</td><td>12.03%</td><td>12.57%</td><td>15.98%</td><td>10.40%</td><td>13.95%</td><td>19.61%</td><td>19.70%</td></tr>
|
|
<tr><td class="metric-name">预收款占比</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>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>0.00%</td><td>0.00%</td><td>0.00%</td><td>0.00%</td></tr>
|
|
<tr><td class="metric-name">短期借款占比</td><td>11.32%</td><td>11.89%</td><td>8.97%</td><td>11.97%</td><td>8.90%</td><td>8.50%</td><td>9.59%</td><td>11.35%</td><td>9.84%</td><td>7.22%</td><td>4.65%</td><td>17.94%</td><td>3.71%</td><td>3.58%</td><td>4.82%</td><td>3.28%</td><td>3.62%</td><td>6.34%</td><td>7.12%</td><td>8.81%</td></tr>
|
|
<tr><td class="metric-name">长期借款占比</td><td>21.80%</td><td>23.49%</td><td>27.02%</td><td>28.05%</td><td>31.08%</td><td>30.46%</td><td>27.12%</td><td>25.63%</td><td>25.90%</td><td>23.45%</td><td>18.41%</td><td>12.50%</td><td>8.19%</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></tr>
|
|
<tr><td class="metric-name">运营资产占比</td><td>6.51%</td><td>5.17%</td><td>-3.43%</td><td>-2.77%</td><td>-2.22%</td><td>-3.35%</td><td>-2.02%</td><td>-4.56%</td><td>-7.50%</td><td>-8.19%</td><td>-7.98%</td><td>-6.06%</td><td>-5.58%</td><td>-4.76%</td><td>-3.40%</td><td>-2.67%</td><td>9.47%</td><td>8.17%</td><td>1.58%</td><td>1.13%</td></tr>
|
|
<tr><td class="metric-name">有息负债率</td><td>33.12%</td><td>35.38%</td><td>35.99%</td><td>40.02%</td><td>39.98%</td><td>38.97%</td><td>36.72%</td><td>36.98%</td><td>35.74%</td><td>30.66%</td><td>23.06%</td><td>30.45%</td><td>11.90%</td><td>3.58%</td><td>4.82%</td><td>3.28%</td><td>3.62%</td><td>6.34%</td><td>7.12%</td><td>8.81%</td></tr>
|
|
<tr class="section-row"><td class="section-label">周转能力</td><td class="section-spacer" colspan="20"></td></tr>
|
|
<tr><td class="metric-name">存货周转天数</td><td>9</td><td>12</td><td>10</td><td>8</td><td>11</td><td>8</td><td>9</td><td>8</td><td>12</td><td>5</td><td>6</td><td>6</td><td>6</td><td>3</td><td>4</td><td>9</td><td>6</td><td>8</td><td>7</td><td>7</td></tr>
|
|
<tr><td class="metric-name">应收款周转天数</td><td>63</td><td>61</td><td>28</td><td>26</td><td>26</td><td>21</td><td>32</td><td>31</td><td>3</td><td>0</td><td>0</td><td>8</td><td>4</td><td>12</td><td>18</td><td>30</td><td>28</td><td>27</td><td>61</td><td>53</td></tr>
|
|
<tr><td class="metric-name">应付款周转天数</td><td>115</td><td>119</td><td>106</td><td>104</td><td>93</td><td>91</td><td>104</td><td>124</td><td>126</td><td>103</td><td>92</td><td>98</td><td>76</td><td>87</td><td>82</td><td>110</td><td>79</td><td>94</td><td>114</td><td>90</td></tr>
|
|
<tr><td class="metric-name">固定资产周转率</td><td>6.82</td><td>6.99</td><td>8.77</td><td>9.36</td><td>9.28</td><td>7.47</td><td>6.96</td><td>6.43</td><td>6.79</td><td>7.98</td><td>10.40</td><td>8.86</td><td>10.30</td><td>10.13</td><td>13.92</td><td>13.68</td><td>14.52</td><td>13.23</td><td>13.10</td><td>15.08</td></tr>
|
|
<tr><td class="metric-name">总资产周转率</td><td>1.16</td><td>1.07</td><td>1.09</td><td>1.12</td><td>1.04</td><td>0.85</td><td>0.77</td><td>0.73</td><td>0.61</td><td>0.67</td><td>0.80</td><td>0.79</td><td>0.83</td><td>0.89</td><td>0.93</td><td>0.87</td><td>0.80</td><td>0.82</td><td>0.95</td><td>1.12</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>
|
|
|