From ef37c59e055a990ce247b265b27d3fcef430a243 Mon Sep 17 00:00:00 2001
From: 杨磊 <505174330@qq.com>
Date: 星期五, 15 八月 2025 10:19:18 +0800
Subject: [PATCH] first submit

---
 src/views/bookStore/index.vue |  134 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 134 insertions(+), 0 deletions(-)

diff --git a/src/views/bookStore/index.vue b/src/views/bookStore/index.vue
new file mode 100644
index 0000000..7dcc190
--- /dev/null
+++ b/src/views/bookStore/index.vue
@@ -0,0 +1,134 @@
+<template>
+  <div class="minWidth">
+    <el-carousel :height="screenheight + 'px'" v-show="bannerState">
+      <el-carousel-item v-for="item in bannerList" :key="item.id">
+        <div class="bannerBox imgBox" :style="item.caupress_link ? 'cursor: pointer' : ''">
+          <img class="bannerImg" :src="item.icon" @click="bannerLink(item)" />
+        </div>
+      </el-carousel-item>
+    </el-carousel>
+    <div
+      :class="!bannerState ? 'show stow' : 'stow'"
+      @click="bannerState = !bannerState"
+    >
+      {{ bannerState ? "鏀惰捣" : "鏄剧ず" }}
+      杞挱鍥�
+      <i
+        :class="bannerState ? 'el-icon-caret-top' : 'el-icon-caret-bottom'"
+      ></i>
+    </div>
+    <div class="contentBox">
+      <List
+        :channel="
+          this.$route.query.searchPath
+            ? this.$route.query.searchPath
+            : 'caupress_bookMall'
+        "
+        :searchOptionHidden="searchOptionHidden"
+        :detailRoute="detailRoute"
+      ></List>
+    </div>
+  </div>
+</template>
+
+<script>
+import List from "@/components/list";
+export default {
+  name: "bookStore-index",
+  components: {
+    List,
+  },
+  data() {
+    return {
+      bannerList: [],
+      detailRoute: "bookStore-detail",
+      searchOptionHidden: this.$route.query.searchOptionHidden
+        ? this.$route.query.searchOptionHidden
+        : false,
+      bannerState: true,
+      screenheight: document.documentElement.clientWidth / 2.628,
+    };
+  },
+  created() {
+    window.onresize = () => {
+      let c = 2.628;
+      if (document.documentElement.clientWidth >= 1220) {
+        this.screenheight = document.documentElement.clientWidth / c;
+      }
+    };
+    this.getBanner();
+    setTimeout(() => {
+      this.bannerState = false;
+    }, 15000);
+  },
+  methods: {
+    bannerLink(val) {
+      if (val.caupress_link) {
+        window.open(val.caupress_link);
+      }
+    },
+    getBanner() {
+      this.MG.resource
+        .getItem({
+          path: "caupress_banner\\caupress_mall",
+          fields: {
+            caupress_link: [],
+          },
+          coverSize: {
+            height: 750,
+          },
+          paging: {
+            start: 0,
+            size: 999,
+          },
+        })
+        .then((res) => {
+          this.bannerList = res.datas;
+        });
+    },
+  },
+  // 濡傛灉璺宠浆椤甸潰涓嶆槸璇︽儏锛屽垯灏嗗綋鍓嶉〉闈笉缂撳瓨
+  beforeRouteLeave(to, from, next) {
+    if (to.name != "bookStore-detail") {
+      this.$store.commit("delKeepAlive", from.name);
+    }
+    next();
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.autoImg {
+  max-height: none;
+}
+.minWidth {
+  min-width: 1220px;
+}
+.stow {
+  width: 160px;
+  margin: 0 auto;
+  text-align: center;
+  border: 1px solid #b3b3b3;
+  font-size: 16px;
+  line-height: 40px;
+  border-radius: 21px;
+  color: #b3b3b3;
+  cursor: pointer;
+  margin-top: 5px;
+}
+.show {
+  margin-top: 20px;
+}
+.bannerBox {
+  background: #f3f3f3;
+}
+.imgBox {
+  position: relative;
+  width: 100%;
+  height: 100%;
+}
+.contentBox {
+  background-color: rgb(241, 248, 244);
+  margin-top: 20px;
+}
+</style>

--
Gitblit v1.9.1