From 2547159bbd781c8e1a41ecc939385396c85f9766 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期一, 09 六月 2025 23:35:59 +0800
Subject: [PATCH] 2025.6.9(功能编写中)

---
 src/components/BaseCard.vue |   90 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 85 insertions(+), 5 deletions(-)

diff --git a/src/components/BaseCard.vue b/src/components/BaseCard.vue
index d853a01..dbf4a2c 100644
--- a/src/components/BaseCard.vue
+++ b/src/components/BaseCard.vue
@@ -1,9 +1,50 @@
 <template>
-  <div class="wrap-2">
-    <slot></slot>
+  <div class="wrap-2 p-events-auto">
+    <el-space>
+      <span class="close-icon" @click="showToggle">
+        <el-icon :size="16">
+          <!-- <Transition name="rotate">
+            <Close v-if="show" />
+          </Transition>
+          <Transition name="rotate-reverse">
+            <Plus v-if="!show" />
+          </Transition> -->
+          <Close :class="closeRotate" />
+        </el-icon>
+      </span>
+      <el-row justify="space-between" align="middle">
+        <span>{{ title }}</span>
+        <div class="m-l-16">
+          <slot name="expand"></slot>
+        </div>
+      </el-row>
+    </el-space>
+    <!-- <Transition name="el-zoom-in-left"> -->
+    <div class="m-t-8" v-if="show">
+      <slot></slot>
+    </div>
+    <!-- </Transition> -->
   </div>
 </template>
-<script></script>
+<script setup>
+import { ref } from 'vue'
+
+const props = defineProps({
+  title: String
+})
+
+const show = ref(true)
+const closeRotate = ref('')
+
+function showToggle() {
+  show.value = !show.value
+  if (show.value) {
+    closeRotate.value = 'rotate-enter-active close-rotate'
+  } else {
+    closeRotate.value = 'rotate-enter-active close-rotate-reverse'
+  }
+}
+</script>
 <style scoped>
 .wrap {
   background-image: url('@/assets/icon/bg-border-1.png');
@@ -18,9 +59,48 @@
 }
 
 .wrap-2 {
-  border: 2px solid rgba(255, 255, 255, 0.829);
+  border: 2px solid rgb(255, 255, 255);
   border-radius: 8px;
   padding: 4px;
-  background: linear-gradient(#14428be8, #14428b8f);
+  /* background: linear-gradient(#14428be8, #14428b8f); */
+  background: #14428be8;
+}
+
+.close-icon {
+  border: 1px solid white;
+  border-radius: 4px;
+  width: 20px;
+  height: 20px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  cursor: pointer;
+}
+.close-icon:hover {
+  border-color: #87f8f2;
+  color: #87f8f2;
+}
+.close-rotate {
+  transform: rotate(90deg);
+}
+.close-rotate-reverse {
+  transform: rotate(-135deg);
+}
+.rotate-enter-active {
+  transition: transform 0.5s ease;
 }
 </style>
+<!-- <style>
+
+.rotate-enter-from {
+  transform: rotate(135deg);
+}
+
+.rotate-reverse-enter-active {
+  transition: transform 0.5s ease;
+  /* transition: opacity 0.5s ease; */
+}
+.rotate-reverse-enter-from {
+  transform: rotate(-135deg);
+}
+</style> -->

--
Gitblit v1.9.3