zjk
2026-02-04 b4dc99a92c8fbdfefa48870fde72042e0d1e168a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
<script setup lang="ts">
import { useAuthStore } from '@/store'
import Chart from './components/chart.vue'
 
const { userInfo } = useAuthStore()
</script>
 
<template>
  <n-grid
    :x-gap="16"
    :y-gap="16"
    :cols="3"
    item-responsive
    responsive="screen"
  >
    <!-- 左侧主要内容区 - 移动端全宽,桌面端2/3宽 -->
    <n-gi span="3 m:2">
      <n-space
        vertical
        :size="16"
      >
        <!-- 图表区域 -->
        <n-card style="--n-padding-left: 0;">
          <Chart />
        </n-card>
 
        <!-- 统计卡片区域 -->
        <n-grid
          :x-gap="16"
          :y-gap="16"
          :cols="4"
          item-responsive
          responsive="screen"
        >
          <n-gi span="2 l:1">
            <n-card>
              <n-thing>
                <template #avatar>
                  <n-el>
                    <n-icon-wrapper :size="46" color="var(--success-color)" :border-radius="999">
                      <nova-icon :size="26" icon="icon-park-outline:user" />
                    </n-icon-wrapper>
                  </n-el>
                </template>
                <template #header>
                  <n-statistic label="活跃用户">
                    <n-number-animation show-separator :from="0" :to="12039" />
                  </n-statistic>
                </template>
              </n-thing>
            </n-card>
          </n-gi>
          <n-gi span="2 l:1">
            <n-card>
              <n-thing>
                <template #avatar>
                  <n-el>
                    <n-icon-wrapper :size="46" color="var(--success-color)" :border-radius="999">
                      <nova-icon :size="26" icon="icon-park-outline:every-user" />
                    </n-icon-wrapper>
                  </n-el>
                </template>
                <template #header>
                  <n-statistic label="用户">
                    <n-number-animation show-separator :from="0" :to="44039" />
                  </n-statistic>
                </template>
              </n-thing>
            </n-card>
          </n-gi>
          <n-gi span="2 l:1">
            <n-card>
              <n-thing>
                <template #avatar>
                  <n-el>
                    <n-icon-wrapper :size="46" color="var(--success-color)" :border-radius="999">
                      <nova-icon :size="26" icon="icon-park-outline:preview-open" />
                    </n-icon-wrapper>
                  </n-el>
                </template>
                <template #header>
                  <n-statistic label="浏览量">
                    <n-number-animation show-separator :from="0" :to="551039" />
                  </n-statistic>
                </template>
              </n-thing>
            </n-card>
          </n-gi>
          <n-gi span="2 l:1">
            <n-card>
              <n-thing>
                <template #avatar>
                  <n-el>
                    <n-icon-wrapper :size="46" color="var(--success-color)" :border-radius="999">
                      <nova-icon :size="26" icon="icon-park-outline:star" />
                    </n-icon-wrapper>
                  </n-el>
                </template>
                <template #header>
                  <n-statistic label="收藏数">
                    <n-number-animation show-separator :from="0" :to="7739" />
                  </n-statistic>
                </template>
              </n-thing>
            </n-card>
          </n-gi>
        </n-grid>
        <n-card title="动态">
          <template #header-extra>
            <n-button
              type="primary"
              quaternary
            >
              更多
            </n-button>
          </template>
          <n-list hoverable>
            <n-list-item>
              <template #prefix>
                <n-avatar
                  round
                  :size="48"
                  :src="userInfo?.avatar"
                />
              </template>
              <n-thing
                title="客怎车"
                title-extra="09/29/2022"
                description="是“我的客厅怎么会有车”的缩写,指那些在车道间肆意穿梭,把马路当客厅的人,多有嘲讽意味,主要用于车祸视频中。"
              />
            </n-list-item>
            <n-list-item>
              <template #prefix>
                <n-avatar
                  round
                  :size="48"
                  :src="userInfo?.avatar"
                />
              </template>
              <n-thing
                title="街健五大神技"
                title-extra="09/29/2022"
                description="街头健身五大神技,包括1.单手引体向上。2.慢速双力臂。3.人旗。4.前水平。5.俄式挺身。"
              />
            </n-list-item>
            <n-list-item>
              <template #prefix>
                <n-avatar
                  round
                  :size="48"
                  :src="userInfo?.avatar"
                />
              </template>
              <n-thing
                title="天下岂有七十年太子乎"
                title-extra="09/29/2022"
                description="★含义:用来调侃由于英国女王超长的在位时间,导致其长子查理斯王子成为史上等待王位时间最久的王储 "
              />
            </n-list-item>
            <n-list-item>
              <template #prefix>
                <n-avatar
                  round
                  :size="48"
                  :src="userInfo?.avatar"
                />
              </template>
              <n-thing
                title="你干嘛~哈哈~哎哟~"
                title-extra="09/29/2022"
                description="出自著名偶像练习生、练习时长两年半、背带异常梳中分的蔡徐坤在2018年的一档综艺节目偶像练习生中出现的一幕"
              />
            </n-list-item>
          </n-list>
        </n-card>
      </n-space>
    </n-gi>
 
    <!-- 右侧边栏 - 移动端全宽,桌面端1/3宽 -->
    <n-gi span="3 m:1">
      <n-space
        vertical
        :size="16"
      >
        <n-card title="公告">
          <template #header-extra>
            <n-button
              type="primary"
              quaternary
            >
              更多
            </n-button>
          </template>
          <n-list>
            <n-list-item>
              <template #prefix>
                <n-tag
                  :bordered="false"
                  type="info"
                  size="small"
                >
                  通知
                </n-tag>
              </template>
              <n-button text>
                漂洋过海上大专
              </n-button>
            </n-list-item>
            <n-list-item>
              <template #prefix>
                <n-tag
                  :bordered="false"
                  type="success"
                  size="small"
                >
                  消息
                </n-tag>
              </template>
              <n-button text>
                你在玩很新的东西
              </n-button>
            </n-list-item>
            <n-list-item>
              <template #prefix>
                <n-tag
                  :bordered="false"
                  type="warning"
                  size="small"
                >
                  活动
                </n-tag>
              </template>
              <n-button text>
                上岸第一剑,先斩意中人
              </n-button>
            </n-list-item>
          </n-list>
        </n-card>
        <!-- 订单和待办统计 -->
        <n-grid
          :x-gap="16"
          :y-gap="16"
          :cols="2"
        >
          <!-- 移动端和桌面端都是每行2个 -->
          <n-gi :span="1">
            <n-card>
              <n-flex vertical align="center">
                <n-text depth="3">
                  订单数
                </n-text>
                <n-icon-wrapper :size="46" :border-radius="999">
                  <nova-icon :size="26" icon="icon-park-outline:all-application" />
                </n-icon-wrapper>
                <n-text strong class="text-2xl">
                  1,234,123
                </n-text>
              </n-flex>
            </n-card>
          </n-gi>
          <n-gi :span="1">
            <n-card>
              <n-flex vertical align="center">
                <n-text depth="3">
                  待办
                </n-text>
                <n-el>
                  <n-icon-wrapper :size="46" color="var(--warning-color)" :border-radius="999">
                    <nova-icon :size="26" icon="icon-park-outline:list-bottom" />
                  </n-icon-wrapper>
                </n-el>
                <n-text strong class="text-2xl">
                  78
                </n-text>
              </n-flex>
            </n-card>
          </n-gi>
        </n-grid>
        <n-card title="任务进度">
          <n-timeline>
            <n-timeline-item content="啊" />
            <n-timeline-item
              type="success"
              title="成功"
              content="哪里成功"
              time="2018-04-03 20:46"
            />
            <n-timeline-item
              type="error"
              content="哪里错误"
              time="2018-04-03 20:46"
            />
            <n-timeline-item
              type="warning"
              title="警告"
              content="哪里警告"
              time="2018-04-03 20:46"
            />
            <n-timeline-item
              type="info"
              title="信息"
              content="是的"
              time="2018-04-03 20:46"
              line-type="dashed"
            />
            <n-timeline-item content="啊" />
          </n-timeline>
        </n-card>
      </n-space>
    </n-gi>
  </n-grid>
</template>
 
<style scoped></style>