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