From 77e5c96577bfe426e4a341361e5c196dd5c5b7c9 Mon Sep 17 00:00:00 2001
From: zhangnuoyan <9354631+zhangnuoyan@user.noreply.gitee.com>
Date: 星期日, 25 八月 2024 16:28:28 +0800
Subject: [PATCH] feat: 增加一些组件

---
 src/styles/theme.scss                          |   10 
 src/views/oneThree/member/index.vue            |   89 +------
 src/views/oneThree/member/pages/source.vue     |   79 +++++++
 src/views/components/the-member-info/index.vue |   54 ++++
 src/views/oneThree/member/pages/travel.vue     |   85 +++++++
 src/views/oneThree/member/pages/track.vue      |  140 ++++++++++++
 src/views/oneThree/member/pages/basic.vue      |  142 ++++++++++++
 src/views/components/the-a-table/index.vue     |   20 
 src/views/components/the-a-tabs/index.vue      |   11 
 9 files changed, 549 insertions(+), 81 deletions(-)

diff --git a/src/styles/theme.scss b/src/styles/theme.scss
index 4232e07..8d846f0 100644
--- a/src/styles/theme.scss
+++ b/src/styles/theme.scss
@@ -2,7 +2,7 @@
     --color-black: #000000;
     --color-border: #333335;
     --color-bg-1: #17171a;
-    --color-bg-2: #0f2a58;
+    --color-bg-2: #123269;
     --color-bg-popup: #0f2a58;
     --color-bg-3: rgba(255, 255, 255, 0.1);
     --color-bg-4: #313132;
@@ -50,6 +50,7 @@
     --color-menu-light-bg: #0f2a58;
     --color-menu-dark-hover: var(--color-fill-2);
     --color-mask-bg: rgba(23, 23, 26, 0.6);
+    --color-neutral-3: #929293;
     --red-1: 77, 0, 10;
     --red-2: 119, 6, 17;
     --red-3: 161, 22, 31;
@@ -240,6 +241,13 @@
     --warning-8: var(--orange-8);
     --warning-9: var(--orange-9);
     --warning-10: var(--orange-10);
+
+    .table-select .select-box .box-scrollbar {
+        background-color: #2f5494 !important;
+    }
+    thead th {
+        background-color: #2f5494;
+    }
     .arco-card {
         border: none;
     }
diff --git a/src/views/components/the-a-table/index.vue b/src/views/components/the-a-table/index.vue
index f30be7a..d8276e4 100644
--- a/src/views/components/the-a-table/index.vue
+++ b/src/views/components/the-a-table/index.vue
@@ -1,26 +1,26 @@
 <template>
     <!-- 琛ㄦ牸 -->
     <div class="the-a-table" :class="currentThemeMode === 'dark' ? 'a-table-dark' : ''">
-        <div class="overSpread1" v-show="iscolopen" @click="onMaskClick"></div>
-        <div class="table-select" v-if="colOpenShow">
+        <!-- <div v-show="iscolopen" class="overSpread1" @click="onMaskClick"></div> -->
+        <!-- <div v-if="colOpenShow" class="table-select">
             <div class="select-box">
-                <icon-list class="box-icon" @click="checkcol" :size="24" />
+                <icon-list class="box-icon" :size="24" @click="checkcol" />
                 <a-scrollbar
+                    v-show="iscolopen"
                     class="box-scrollbar"
                     type="track"
                     style="height: 200px; overflow: auto"
-                    v-show="iscolopen"
                 >
                     <a-space class="box-post" direction="vertical" size="large">
-                        <a-checkbox-group direction="vertical" @change="selCeckBoxList" v-model="checkedValue">
-                            <a-checkbox v-for="(item, index) in columns" :value="item.title" :key="index">
+                        <a-checkbox-group v-model="checkedValue" direction="vertical" @change="selCeckBoxList">
+                            <a-checkbox v-for="(item, index) in columns" :key="index" :value="item.title">
                                 {{ item.title }}
                             </a-checkbox>
                         </a-checkbox-group>
                     </a-space>
                 </a-scrollbar>
             </div>
-        </div>
+        </div> -->
         <a-space direction="vertical" size="large" fill>
             <a-table
                 row-key="id"
@@ -30,10 +30,10 @@
                 :columns="tableColumns"
                 :bordered="bordered"
                 :size="size"
-                @page-change="onPageChange"
                 :max-height="documentHeight"
                 :scroll="{ x: 1000 }"
                 :row-selection="rowSelection"
+                @page-change="onPageChange"
                 @select-all="selectTabAll"
                 @selection-change="selectTabChange"
             >
@@ -46,7 +46,7 @@
                     >
                     </a-table-column>
                 </template> -->
-                <template v-for="(item, key, i) in slots" :key="i" v-slot:[key]="{ record, rowIndex, column }">
+                <template v-for="(item, key, i) in slots" :key="i" #[key]="{ record, rowIndex, column }">
                     <slot :name="key" v-bind="{ rowIndex: rowIndex, record: record, column: column }"></slot>
                 </template>
             </a-table>
@@ -78,7 +78,7 @@
     {
         columns: () => [], //琛ㄥご
         data: () => [], //鏁版嵁
-        colOpenShow: true, // 閰嶇疆鍒楄〃 琛ㄥご
+        colOpenShow: false, // 閰嶇疆鍒楄〃 琛ㄥご
         loading: false,
         pagination: false,
         checkedValue: () => [],
diff --git a/src/views/components/the-a-tabs/index.vue b/src/views/components/the-a-tabs/index.vue
index 8e501b0..438a88b 100644
--- a/src/views/components/the-a-tabs/index.vue
+++ b/src/views/components/the-a-tabs/index.vue
@@ -1,6 +1,8 @@
 <template>
     <div>
-        <p v-for="(item, key) in data" :key="key" :class="index === key ? 'active' : ''">{{ item }}</p>
+        <p v-for="(item, key) in data" :key="key" :class="index === key ? 'active' : ''" @click="handleChange(key)">
+            {{ item }}
+        </p>
     </div>
 </template>
 <script lang="ts" setup name="TheATabs">
@@ -14,6 +16,13 @@
         data: () => []
     }
 );
+const emits = defineEmits<{
+    (e: "handleChange", index: number): void;
+}>();
+const handleChange = (index: number) => {
+    if (props.index === index) return;
+    emits("handleChange", index);
+};
 </script>
 <style lang="scss" scoped>
 div {
diff --git a/src/views/components/the-member-info/index.vue b/src/views/components/the-member-info/index.vue
new file mode 100644
index 0000000..c851c3f
--- /dev/null
+++ b/src/views/components/the-member-info/index.vue
@@ -0,0 +1,54 @@
+<template>
+    <div>
+        <header>
+            <p>{{ title }}</p>
+            <span></span>
+        </header>
+        <section>
+            <p v-for="(item, key) in data" :key="key">
+                {{ item }}
+            </p>
+        </section>
+    </div>
+</template>
+<script lang="ts" setup name="TheMemberInfo">
+const props = withDefaults(
+    defineProps<{
+        title?: string;
+        data?: Array<any>;
+    }>(),
+    {
+        title: "",
+        data: () => []
+    }
+);
+</script>
+<style lang="scss" scoped>
+div {
+    padding-bottom: 20px;
+    header {
+        font-size: 16px;
+        padding-left: 10px;
+        border-left: 4px solid #3b93ff;
+        position: relative;
+        display: flex;
+        align-items: center;
+        span {
+            margin-left: 8px;
+            display: block;
+            flex: 1;
+            height: 2px;
+            background: var(--color-bg-3);
+        }
+    }
+    section {
+        overflow: hidden;
+        padding: 12px 0;
+        > p {
+            width: 25%;
+            float: left;
+            margin: 12px 0;
+        }
+    }
+}
+</style>
diff --git a/src/views/oneThree/member/index.vue b/src/views/oneThree/member/index.vue
index 0b0f8b3..5c1119f 100644
--- a/src/views/oneThree/member/index.vue
+++ b/src/views/oneThree/member/index.vue
@@ -46,48 +46,28 @@
             </div>
         </div>
         <div class="right">
-            <the-a-tabs style="margin: 8px 0" :data="['鍩烘湰淇℃伅', '浜哄憳杞ㄨ抗', '鍑鸿淇℃伅', '璧勬簮淇℃伅']" :index="0" />
+            <the-a-tabs
+                style="margin: 8px 0"
+                :data="['鍩烘湰淇℃伅', '浜哄憳杞ㄨ抗', '鍑鸿淇℃伅', '璧勬簮淇℃伅']"
+                :index="index"
+                @handleChange="handleChange"
+            />
             <section>
-                <div class="menus">
-                    <div><the-a-change :data="changeData" default-value="custom"></the-a-change></div>
-                    <div><a-time-picker type="time-range" style="width: 250px" /></div>
-                    <div>
-                        <the-a-select :data="['姝e簭', '鍊掑簭']" placeholder="璇烽�夋嫨" title="鎺掑簭"></the-a-select>
-                    </div>
-                    <div>
-                        <the-a-select :data="['1鍙锋ゼ', '2鍙锋ゼ']" placeholder="璇烽�夋嫨" title="鍑虹幇鍦扮偣"></the-a-select>
-                    </div>
-                    <div>
-                        <a-button type="primary">
-                            <template #icon>
-                                <icon-search />
-                            </template>
-                            <template #default>鎼滅储</template>
-                        </a-button>
-                    </div>
-                    <div>
-                        <a-button>
-                            <template #icon>
-                                <icon-refresh />
-                            </template>
-                            <template #default>閲嶇疆</template>
-                        </a-button>
-                    </div>
-                    <div class="buttons">
-                        <div>
-                            <icon-list size="20" />
-                        </div>
-                        <div class="button active">
-                            <icon-apps size="20" />
-                        </div>
-                    </div>
-                </div>
+                <member-basic v-if="index === 0" />
+                <member-track v-if="index === 1" />
+                <member-travel v-if="index === 2" />
+                <member-source v-if="index === 3" />
             </section>
         </div>
     </div>
 </template>
 
 <script lang="ts" setup name="member">
+import memberBasic from "./pages/basic.vue";
+import memberSource from "./pages/source.vue";
+import memberTrack from "./pages/track.vue";
+import memberTravel from "./pages/travel.vue";
+const index = ref(0);
 const changeData = reactive([
     {
         name: "1澶�",
@@ -103,16 +83,7 @@
     }
 ]);
 const data = reactive({
-    desc: [
-        "鎵�灞炲皬鍖猴細鍖椾含",
-        "鎵�灞炴淳鍑烘墍锛氭潵骞胯惀娲惧嚭鎵�",
-        "棣栨鎶撴媿鏃堕棿锛�2023-12-12 12:23",
-        "棣栨鎶撴媿鍦扮偣锛氫簩鍙锋ゼ",
-        "鎶撴媿娆℃暟锛�23",
-        "鍑虹幇澶╂暟锛�12",
-        "鏈�鍚庡嚭鐜版椂闂达細2024-01-12 12:23",
-        "甯镐綇鍦板潃锛欰灏忓尯1鏍�2鍗曞厓201"
-    ],
+    desc: ["鎵�灞炲皬鍖猴細鍖椾含", "鎵�灞炴淳鍑烘墍锛氭潵骞胯惀娲惧嚭鎵�", "棣栨鎶撴媿鏃堕棿锛�2023-12-12 12:23"],
     tags: [
         {
             title: "浜哄憳鏍囩",
@@ -142,6 +113,9 @@
         }
     ]
 });
+const handleChange = (value: number) => {
+    index.value = value;
+};
 </script>
 
 <style lang="scss" scoped>
@@ -230,7 +204,7 @@
             }
         }
         .icons {
-            margin: 75px 0;
+            margin: 25px 0 50px;
             display: flex;
             > div {
                 margin-right: 10px;
@@ -246,29 +220,6 @@
             background: var(--color-bg-2);
             padding-top: 20px;
             margin-top: 10px;
-            .menus {
-                display: flex;
-                padding: 0 5px 20px 20px;
-                > div {
-                    margin-right: 10px;
-                    &.buttons {
-                        display: flex;
-                        background: var(--color-fill-2);
-                        > div {
-                            width: 34px;
-                            height: 34px;
-                            cursor: pointer;
-                            display: flex;
-                            align-items: center;
-                            justify-content: center;
-                            &.active {
-                                background: #1057fd;
-                                color: #fff;
-                            }
-                        }
-                    }
-                }
-            }
         }
     }
 }
diff --git a/src/views/oneThree/member/pages/basic.vue b/src/views/oneThree/member/pages/basic.vue
new file mode 100644
index 0000000..cdafdac
--- /dev/null
+++ b/src/views/oneThree/member/pages/basic.vue
@@ -0,0 +1,142 @@
+<template>
+    <section>
+        <the-member-info
+            title="瀹炲悕淇℃伅"
+            :data="[
+                '鐪熷疄濮撳悕锛氬紶涓�',
+                '鑱旂郴鐢佃瘽锛�19821231233',
+                '璇佷欢绫诲瀷锛氬眳姘戣韩浠借瘉',
+                '璇佷欢鐮侊細566635477547575777773',
+                '鎬у埆锛氱敺',
+                '姘戞棌锛氭眽',
+                '鍑虹敓鏃ユ湡锛�2003-12-12',
+                '鎴峰彛鎬ц川锛氬啘',
+                '鎴风睄鍦帮細A灏忓尯1鏍�2鍗曞厓201',
+                '鎵�鍦ㄥ崟浣嶏細xx璐d换鏈夐檺鍏徃',
+                '瀛﹀巻锛氭湰绉�',
+                '濠氬Щ鐘舵�侊細鏈'
+            ]"
+        />
+        <the-member-info
+            title="閲嶇偣浜哄憳淇℃伅"
+            :data="[
+                '鏇剧敤鍚嶏細寮犱笁',
+                '缁板彿锛氬皬寮�',
+                '浣撹〃鏍囪瘑锛氬乏鐪夋瘺鏈変激鐤�',
+                '绀句繚鍙风爜锛�--',
+                '韬珮锛�189cm ',
+                '姘戞棌锛氭眽',
+                '鍑虹敓鏃ユ湡锛�2003-12-12',
+                '浣撻噸锛�50KG',
+                '鎴风睄鍦帮細A灏忓尯1鏍�2鍗曞厓201',
+                '鎵�鍦ㄥ崟浣嶏細xx璐d换鏈夐檺鍏徃',
+                '瀛﹀巻锛氭湰绉�',
+                '濠氬Щ鐘舵�侊細鏈'
+            ]"
+        />
+        <the-a-table
+            :columns="columns"
+            :data="data"
+            :pagination="false"
+            :checked-value="checkedValue"
+            :col-open-show="true"
+            :show-selection="false"
+            @selTableCol="selTableCol"
+        >
+            <template #index="{ record, rowIndex, column }">
+                {{ rowIndex + 1 }}
+            </template>
+            <template #action="{ record, rowIndex, column }">
+                <a-button type="text" size="small">鏌ョ湅</a-button>
+                <a-button type="text" size="small">绠$悊</a-button>
+                <a-button type="text" size="small">鍏抽棴</a-button>
+            </template>
+        </the-a-table>
+        <div>
+            <a-pagination :total="50" show-total show-jumper show-page-size style="margin-top: 8px" />
+        </div>
+    </section>
+</template>
+
+<script lang="ts" setup name="member-basic">
+const columns = [
+    {
+        title: "搴忓彿",
+        key: "1",
+        dataIndex: "index",
+        width: 80
+    },
+    {
+        title: "灞呬綇鍦板潃",
+        dataIndex: "name",
+        key: "2",
+        width: 280
+    },
+    {
+        title: "鍏ヤ綇鏃堕棿",
+        dataIndex: "inTime",
+        key: "3"
+    },
+    {
+        title: "鎾ょ鏃堕棿",
+        dataIndex: "outTime",
+        key: "4"
+    },
+    {
+        title: "鎾ょ淇℃伅",
+        dataIndex: "outInfo",
+        key: "4"
+    },
+    {
+        title: "灞呬綇鐘舵��",
+        dataIndex: "status",
+        key: "4"
+    }
+];
+
+const checkedValue = ref<string[]>(["搴忓彿", "灞呬綇鍦板潃", "鍏ヤ綇鏃堕棿", "鎾ょ鏃堕棿", "鎾ょ淇℃伅", "灞呬綇鐘舵��"]);
+const data = [
+    {
+        index: "1",
+        name: "@娲惧嚭鎵�@@灏忓尯3鏍嬩竴鍗曞厓",
+        inTime: "2024.10.12 12:12",
+        outTime: "-",
+        outInfo: "--",
+        status: "鍦ㄤ綇"
+    },
+    {
+        index: "2",
+        name: "@娲惧嚭鎵�@@灏忓尯3鏍嬩竴鍗曞厓",
+        inTime: "2024.10.12 12:12",
+        outTime: "-",
+        outInfo: "--",
+        status: "鎾ょ"
+    },
+    {
+        index: "3",
+        name: "@娲惧嚭鎵�@@灏忓尯3鏍嬩竴鍗曞厓",
+        inTime: "2024.10.12 12:12",
+        outTime: "-",
+        outInfo: "--",
+        status: "鎾ょ"
+    },
+    {
+        index: "4",
+        name: "@娲惧嚭鎵�@@灏忓尯3鏍嬩竴鍗曞厓",
+        inTime: "2024.10.12 12:12",
+        outTime: "-",
+        outInfo: "--",
+        status: "鎾ょ"
+    }
+];
+const selTableCol = (val: any) => {
+    checkedValue.value = val;
+    console.log(val);
+};
+</script>
+
+<style lang="scss" scoped>
+section {
+    padding: 10px;
+}
+</style>
diff --git a/src/views/oneThree/member/pages/source.vue b/src/views/oneThree/member/pages/source.vue
new file mode 100644
index 0000000..eac1422
--- /dev/null
+++ b/src/views/oneThree/member/pages/source.vue
@@ -0,0 +1,79 @@
+<template>
+    <div class="menus">
+        <div><the-a-change :data="changeData" default-value="custom"></the-a-change></div>
+        <div><a-time-picker type="time-range" style="width: 250px" /></div>
+        <div>
+            <the-a-select :data="['姝e簭', '鍊掑簭']" placeholder="璇烽�夋嫨" title="鎺掑簭"></the-a-select>
+        </div>
+        <div>
+            <the-a-select :data="['1鍙锋ゼ', '2鍙锋ゼ']" placeholder="璇烽�夋嫨" title="鍑虹幇鍦扮偣"></the-a-select>
+        </div>
+        <div>
+            <a-button type="primary">
+                <template #icon>
+                    <icon-search />
+                </template>
+                <template #default>鎼滅储</template>
+            </a-button>
+        </div>
+        <div>
+            <a-button>
+                <template #icon>
+                    <icon-refresh />
+                </template>
+                <template #default>閲嶇疆</template>
+            </a-button>
+        </div>
+        <div class="buttons">
+            <div>
+                <icon-list size="20" />
+            </div>
+            <div class="button active">
+                <icon-apps size="20" />
+            </div>
+        </div>
+    </div>
+</template>
+
+<script lang="ts" setup name="member-source">
+const changeData = reactive([
+    {
+        name: "1澶�",
+        value: "1"
+    },
+    {
+        name: "2澶�",
+        value: "2"
+    },
+    {
+        name: "鑷畾涔�",
+        value: "custom"
+    }
+]);
+</script>
+
+<style lang="scss" scoped>
+.menus {
+    display: flex;
+    padding: 0 5px 20px 20px;
+    > div {
+        margin-right: 10px;
+        &.buttons {
+            display: flex;
+            background: var(--color-fill-2);
+            > div {
+                width: 34px;
+                height: 34px;
+                cursor: pointer;
+                display: flex;
+                align-items: center;
+                justify-content: center;
+                &.active {
+                    background: #1057fd;
+                    color: #fff;
+                }
+            }
+        }
+    }
+}
+</style>
diff --git a/src/views/oneThree/member/pages/track.vue b/src/views/oneThree/member/pages/track.vue
new file mode 100644
index 0000000..aa79aa1
--- /dev/null
+++ b/src/views/oneThree/member/pages/track.vue
@@ -0,0 +1,140 @@
+<template>
+    <div class="menus">
+        <div><the-a-change :data="changeData" default-value="custom"></the-a-change></div>
+        <div><a-time-picker type="time-range" style="width: 250px" /></div>
+        <div>
+            <the-a-select :data="['姝e簭', '鍊掑簭']" placeholder="璇烽�夋嫨" title="鎺掑簭"></the-a-select>
+        </div>
+        <div>
+            <the-a-select :data="['1鍙锋ゼ', '2鍙锋ゼ']" placeholder="璇烽�夋嫨" title="鍑虹幇鍦扮偣"></the-a-select>
+        </div>
+        <div>
+            <a-button type="primary">
+                <template #icon>
+                    <icon-search />
+                </template>
+                <template #default>鎼滅储</template>
+            </a-button>
+        </div>
+        <div>
+            <a-button>
+                <template #icon>
+                    <icon-refresh />
+                </template>
+                <template #default>閲嶇疆</template>
+            </a-button>
+        </div>
+        <div class="buttons">
+            <div>
+                <icon-list size="20" />
+            </div>
+            <div class="button active">
+                <icon-apps size="20" />
+            </div>
+        </div>
+    </div>
+    <div class="cards">
+        <a-card v-for="(item, key) in list" :key="key" class="card-box card-bg-custom">
+            <the-img-card :title="item.title" :icon="item.icon" :contents="item.contents"></the-img-card>
+            <div class="card-box-right">
+                <div>
+                    <a-space>
+                        <a-button type="primary" size="mini">{{ item.tags[0] }}</a-button>
+                        <a-button type="primary" status="danger" size="mini">{{ item.tags[1] }}</a-button>
+                    </a-space>
+                </div>
+                <div>
+                    <a-space>
+                        <icon-book />
+                        <icon-bar-chart />
+                    </a-space>
+                </div>
+            </div>
+        </a-card>
+    </div>
+</template>
+
+<script lang="ts" setup name="member-track">
+const changeData = reactive([
+    {
+        name: "1澶�",
+        value: "1"
+    },
+    {
+        name: "2澶�",
+        value: "2"
+    },
+    {
+        name: "鑷畾涔�",
+        value: "custom"
+    }
+]);
+const list = reactive(
+    new Array(5).fill({
+        icon: "https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a8c8cdb109cb051163646151a4a5083b.png~tplv-uwbnlip3yd-webp.webp",
+        title: "寮犱笁",
+        tags: ["涓婅", "娑夋瘨"],
+        contents: [
+            {
+                key: "浜哄憳缂栧彿",
+                value: "H324343"
+            },
+            {
+                key: "鍑虹幇澶╂暟",
+                value: "2澶�"
+            },
+            {
+                key: "灞呬綇鍦板潃",
+                value: "缁忔祹蹇�熺瓑绾ц�冭瘯"
+            },
+            {
+                key: "韬唤璇佸彿",
+                value: "3673672627722"
+            }
+        ]
+    })
+);
+</script>
+
+<style lang="scss" scoped>
+.cards {
+    overflow: hidden;
+    > div {
+        float: left;
+        margin: 0 20px 20px 0;
+    }
+}
+.card-box {
+    width: 391px;
+    height: 202px;
+    border-radius: 5px;
+}
+.card-box-right {
+    margin-top: 10px;
+    display: flex;
+    justify-content: space-between;
+}
+.menus {
+    display: flex;
+    padding: 0 5px 20px 20px;
+    > div {
+        margin-right: 10px;
+        &.buttons {
+            display: flex;
+            background: var(--color-fill-2);
+            > div {
+                width: 34px;
+                height: 34px;
+                cursor: pointer;
+                display: flex;
+                align-items: center;
+                justify-content: center;
+                &.active {
+                    background: #1057fd;
+                    color: #fff;
+                }
+            }
+        }
+    }
+}
+</style>
diff --git a/src/views/oneThree/member/pages/travel.vue b/src/views/oneThree/member/pages/travel.vue
new file mode 100644
index 0000000..1e3a132
--- /dev/null
+++ b/src/views/oneThree/member/pages/travel.vue
@@ -0,0 +1,85 @@
+<template>
+    <div class="menus">
+        <div><the-a-change :data="changeData" default-value="custom"></the-a-change></div>
+        <div><a-time-picker type="time-range" style="width: 250px" /></div>
+        <div>
+            <the-a-select :data="['姝e簭', '鍊掑簭']" placeholder="璇烽�夋嫨" title="鎺掑簭"></the-a-select>
+        </div>
+        <div>
+            <the-a-select :data="['1鍙锋ゼ', '2鍙锋ゼ']" placeholder="璇烽�夋嫨" title="鍑虹幇鍦扮偣"></the-a-select>
+        </div>
+        <div>
+            <a-button type="primary">
+                <template #icon>
+                    <icon-search />
+                </template>
+                <template #default>鎼滅储</template>
+            </a-button>
+        </div>
+        <div>
+            <a-button>
+                <template #icon>
+                    <icon-refresh />
+                </template>
+                <template #default>閲嶇疆</template>
+            </a-button>
+        </div>
+        <div class="buttons">
+            <div>
+                <icon-list size="20" />
+            </div>
+            <div class="button active">
+                <icon-apps size="20" />
+            </div>
+        </div>
+    </div>
+    <div class="pagination">
+        <a-pagination :total="50" show-total show-jumper show-page-size style="margin-top: 8px" />
+    </div>
+</template>
+
+<script lang="ts" setup name="member-travel">
+const changeData = reactive([
+    {
+        name: "1澶�",
+        value: "1"
+    },
+    {
+        name: "2澶�",
+        value: "2"
+    },
+    {
+        name: "鑷畾涔�",
+        value: "custom"
+    }
+]);
+</script>
+
+<style lang="scss" scoped>
+.menus {
+    display: flex;
+    padding: 0 5px 20px 20px;
+    > div {
+        margin-right: 10px;
+        &.buttons {
+            display: flex;
+            background: var(--color-fill-2);
+            > div {
+                width: 34px;
+                height: 34px;
+                cursor: pointer;
+                display: flex;
+                align-items: center;
+                justify-content: center;
+                &.active {
+                    background: #1057fd;
+                    color: #fff;
+                }
+            }
+        }
+    }
+}
+.pagination {
+    padding: 20px;
+}
+</style>

--
Gitblit v1.8.0