From 49a435043b0b1a289a24606e35253365d7ab3956 Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期一, 25 八月 2025 17:51:57 +0800
Subject: [PATCH] 首页、及教学出版样式修改

---
 src/views/home/index.vue |  265 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 188 insertions(+), 77 deletions(-)

diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index cd70a91..d5dddec 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -1,8 +1,8 @@
 <template>
   <div class="homePage">
-    <el-carousel :height="screenheight + 'px'">
+    <el-carousel :height="'615px'">
       <el-carousel-item v-for="(item, index) in banner" :key="index">
-        <div class="bannerBox imgBox">
+        <div class="bannerBox">
           <img id="autoHeight" class="bannerImg" :src="item.icon" @click="bannerLink(item)" />
         </div>
       </el-carousel-item>
@@ -28,29 +28,27 @@
     <div class="bookListBox">
       <div class="contentBox">
         <div class="bookListTitle">
-          <div class="title">鎺ㄨ崘鏁欐潗</div>
+          <div class="titleBox">
+            <span class="titleTextBg">鎺ㄨ崘</span>
+            <span>鏁欐潗</span>
+          </div>
           <div class="more" @click="toMore">鏇村></div>
         </div>
         <div class="recommendList">
-          <div
-            class="recommendItem"
-            v-for="item in bookListData"
-            :key="item.id"
-            @click="toDetail(item)"
-          >
+          <div class="recommendItem" v-for="item in bookListData" :key="item.id" @click="toDetail(item)">
             <div class="recommendItemImg">
               <img class="autoImg" :src="item.icon" />
             </div>
             <div class="infoBox">
               <div class="bookName">{{ item.name }}</div>
               <div class="author">
-                浣滆�咃細{{ item.authorcaupress_author ? item.caupress_author : '-' }}
+                {{ item.author ? item.author : '-' }} 钁�
               </div>
               <div class="priceBox">
                 <span class="price" v-if="item.price && item.price > 0">
                   <span> 楼{{ item.price }}</span>
                 </span>
-                <span class="oldPrice" v-if="item.oldPrice"> 楼{{ item.oldPrice }}</span>
+                <span class="oldPrice" v-if="item.oldPrice > 0"> 楼{{ item.oldPrice }}</span>
               </div>
             </div>
           </div>
@@ -61,56 +59,53 @@
       <div class="funBox">
         <div class="authentication">
           <div class="cardNav" @click="toAuthentication(true)">
+            <img id="rightImg" src="@/assets/images/xiehe/home/jxfw.png" alt="">
             <div class="cardTitle">鏁欏笀璁よ瘉</div>
             <div class="cardText">
-              瀛︽牎浠昏鑰佸笀涓婁紶鏁欏笀璇佹槑鏂囦欢锛岄�氳繃璁よ瘉鍚庯紝鍙繘琛屾牱涔︿笌鏁欏璧勬簮涓嬭浇鐢宠
+              瀛︽牎浠昏鑰佸笀涓婁紶鏁欏笀璇佹槑鏂囦欢锛岄�氳繃璁よ瘉鍚庯紝鍙繘琛屾暟瀛楁暀鏉愯瘯鐢ㄧ敵璇峰強寮�璇惧紑鐝�
             </div>
           </div>
         </div>
         <div class="manual">
           <div class="cardNav" @click="toAuthentication(false)">
+            <img id="rightImg" src="@/assets/images/xiehe/home/jxfw.png" alt="">
             <div class="cardTitle">鎿嶄綔鎵嬪唽</div>
-            <div class="cardText">蹇�熶簡瑙d娇鐢ㄦ楠わ紝杞绘澗寮�鍚暀瀛︽敮鎸佷箣鏃呫��</div>
+            <div class="cardText">蹇�熶簡瑙d娇鐢ㄦ楠わ紝杞绘澗寮�鍚暀瀛︽敮鎸佷箣鏃�</div>
           </div>
         </div>
       </div>
 
       <div class="bookListTitle">
         <div class="title" style="display: flex; line-height: 50px">
-          <div>鏁欏瀵艰埅</div>
+          <div class="titleBox">
+            <span class="titleTextBg">鏁欏</span>
+            <span>瀵艰埅</span>
+          </div>
           <div class="titleTabs" v-if="classfeild.length > 0">
             <el-tabs v-model="activeName" @tab-change="handleClick">
-              <el-tab-pane
-                v-for="item in classfeild"
-                :key="item.value"
-                :label="item.name"
-                :name="item.value"
-              />
+              <el-tab-pane v-for="item in classfeild" :key="item.value" :label="item.name" :name="item.value" />
             </el-tabs>
           </div>
-          <div class="more" style="margin-left: 20px" @click="toMore">鏇村></div>
+          <div class="more" style="margin-left: 30px; font-weight: normal" @click="toMore">
+            鏇村>
+          </div>
         </div>
       </div>
       <div class="recommendList">
-        <div
-          class="recommendItem"
-          v-for="item in navBookList"
-          :key="item.id"
-          @click="toDetail(item)"
-        >
+        <div class="recommendItem" v-for="item in navBookList" :key="item.id" @click="toDetail(item)">
           <div class="recommendItemImg">
             <img class="autoImg" :src="item.icon" />
           </div>
           <div class="infoBox">
             <div class="bookName">{{ item.name }}</div>
             <div class="author">
-              浣滆�咃細{{ item.authorcaupress_author ? item.caupress_author : '-' }}
+              {{ item.author ? item.author : '-' }} 钁�
             </div>
             <div class="priceBox">
               <span class="price" v-if="item.price && item.price > 0">
                 <span>楼{{ item.price }}</span>
               </span>
-              <span class="oldPrice" v-if="item.oldPrice">楼{{ item.oldPrice }}</span>
+              <span class="oldPrice" v-if="item.oldPrice > 0">楼{{ item.oldPrice }}</span>
             </div>
           </div>
         </div>
@@ -228,10 +223,8 @@
         value: item.value,
       }
     })
-    console.log(noCheck, 'noCheck')
 
     classfeild.value = noCheck
-    console.log(classfeild, 'classfeild')
   })
 }
 
@@ -247,11 +240,17 @@
       },
       fields: {
         'teachingLevel=': activeName.value,
+        author: [],
       },
     })
     .then((res) => {
-      console.log(res, '11111111111')
-      navBookList.value = res.datas
+      navBookList.value = res.datas?.map(item => {
+        return {
+          ...item,
+          price: toolClass.toDecimal2(item.price),
+          oldPrice: toolClass.toDecimal2(item.oldPrice),
+        }
+      })
     })
 }
 
@@ -319,11 +318,17 @@
       },
       fields: {
         author: [],
+        isbn: []
       },
     })
     .then((res) => {
-      console.log(res, '鎺ㄨ崘鏁欐潗')
-      bookListData.value = res.datas
+      bookListData.value = res.datas?.map(item => {
+        return {
+          ...item,
+          price: toolClass.toDecimal2(item.price),
+          oldPrice: toolClass.toDecimal2(item.oldPrice),
+        }
+      })
     })
 }
 
@@ -360,7 +365,34 @@
   min-height: calc(100vh - 61.8%);
   background-color: #fff;
   padding-bottom: 100px;
+
+  .titleBox {
+    min-width: 127px;
+    font-family: JDLangZhengTi, JDLangZhengTi;
+    font-weight: 400;
+    font-size: 24px;
+    color: #000;
+    line-height: 24px;
+    text-align: left;
+    white-space: nowrap;
+
+    .titleTextBg {
+      padding: 2px 5px;
+      box-sizing: border-box;
+      background-image: url('@/assets/images/xiehe/home/Text_bg2@.png');
+      background-size: 100% 100%;
+      background-repeat: no-repeat;
+      background-position: center;
+      color: #fff;
+    }
+  }
+
+  .bannerBox {
+    width: 100%;
+    height: 100%;
+  }
 }
+
 .el-carousel__item h3 {
   color: #475669;
   opacity: 0.75;
@@ -380,6 +412,7 @@
 .informationList {
   display: flex;
   flex-wrap: wrap;
+
   .informationItem {
     display: flex;
     width: 42%;
@@ -390,14 +423,17 @@
     border-radius: 10px;
     padding: 10px;
     cursor: pointer;
+
     .imgBox {
       width: 30%;
       height: 100%;
       position: relative;
     }
+
     .informationContent {
       width: 70%;
       padding-left: 10px;
+
       .informationTitle {
         font-size: 14px;
         width: 100%;
@@ -408,30 +444,37 @@
         font-weight: bold;
         margin-bottom: 10px;
       }
+
       .informationDate {
         margin-top: 10px;
       }
+
       .informationText {
         color: #666666;
         overflow: hidden;
         text-overflow: ellipsis;
         display: -webkit-box;
         margin-top: 10px;
-        display: -webkit-box; /* 灏嗗璞′綔涓哄脊鎬т几缂╃洅瀛愭ā鍨嬫樉绀� */
-        -webkit-line-clamp: 3; /* 鏄剧ず鐨勮鏁� */
-        -webkit-box-orient: vertical; /* 璁剧疆鎴栨绱几缂╃洅瀵硅薄鐨勫瓙鍏冪礌鐨勬帓鍒楁柟寮� */
-        overflow: hidden; /* 婧㈠嚭闅愯棌 */
+        display: -webkit-box;
+        /* 灏嗗璞′綔涓哄脊鎬т几缂╃洅瀛愭ā鍨嬫樉绀� */
+        -webkit-line-clamp: 3;
+        /* 鏄剧ず鐨勮鏁� */
+        -webkit-box-orient: vertical;
+        /* 璁剧疆鎴栨绱几缂╃洅瀵硅薄鐨勫瓙鍏冪礌鐨勬帓鍒楁柟寮� */
+        overflow: hidden;
+        /* 婧㈠嚭闅愯棌 */
       }
     }
   }
-  .informationItem:hover {
-    border: 1px solid #019e58;
-  }
+
+  // .informationItem:hover {
+  //   border: 1px solid #019e58;
+  // }
 }
+
 .bookListBox {
   width: 100%;
   padding: 80px 0;
-  margin-top: 30px;
   background-repeat: no-repeat;
   background-size: 100% 100%;
   background-image: url('@/assets/images/tuijian-bg.png');
@@ -446,52 +489,81 @@
   .recommendItem {
     flex: 1;
     margin-right: 20px;
-    height: 300px;
+    width: 261px;
+    height: 389px;
     background-repeat: no-repeat;
     background-size: 100% 100%;
     cursor: pointer;
     border: 1px solid #dedede;
     background-color: #fff;
     padding-top: 10px;
+    background: rgba(255, 255, 255, 0.73);
+    border-radius: 8px 8px 8px 8px;
+    border: 1px solid #DEDEDE;
+    box-sizing: border-box;
+    padding: 30px 0;
+    box-sizing: border-box;
+
     &:last-child {
       margin-right: 0;
     }
   }
+
   .recommendItem:hover {
     background-image: url(@/assets/images/Mouse_fill.png);
+    background-position: center;
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
   }
 }
 
 .recommendItemImg {
-  width: 150px;
-  height: 200px;
+  width: 156px;
+  height: 210px;
   position: relative;
   margin: 0 auto;
 }
 
 .infoBox {
   text-align: center;
-  margin-top: 10px;
+  padding: 20px 0;
+  box-sizing: border-box;
+  font-family: Microsoft YaHei UI, Microsoft YaHei UI;
+  box-sizing: border-box;
 }
+
 .bookName {
+  font-weight: bold;
+  font-size: 18px;
+  color: #000000;
   font-weight: 700;
 }
+
 .author {
-  margin-top: 10px;
+  font-weight: 400;
+  font-size: 16px;
   color: #333333;
+  padding: 15px 0;
+  box-sizing: border-box;
 }
+
 .priceBox {
-  margin-top: 10px;
+  font-family: DIN, DIN;
+  font-weight: 500;
+  font-size: 18px;
+  color: #D91523;
+  padding: 15px 0;
+  box-sizing: border-box;
+
   .oldPrice {
-    font-size: 16px;
     color: #999999;
     text-decoration: line-through;
     margin-left: 20px;
   }
+
   .price {
     span {
       font-weight: bold;
-      font-size: 14px;
       color: #d91523;
     }
   }
@@ -503,26 +575,29 @@
   align-items: center;
   margin-top: 60px;
   margin-bottom: 60px;
+
   .authentication {
-    width: 40%;
-    height: 100px;
+    width: 650px;
+    height: 123px;
     background-repeat: no-repeat;
     background-size: 100% 100%;
     background-image: url('@/assets/images/xiehe/home/jiaoshirenzheng.png');
   }
+
   .manual {
-    width: 40%;
-    height: 100px;
+    width: 650px;
+    height: 123px;
     background-repeat: no-repeat;
     background-size: 100% 100%;
-    background-image: url('@/assets/images/xiehe/home/jiaoshirenzheng.png');
+    background-image: url('@/assets/images/xiehe/home/caozuoshouce.png');
   }
 }
 
 .titleTabs {
-  margin-left: 50px;
+  margin-left: 30px;
   width: 85%;
 }
+
 .bookListTitle {
   display: flex;
   justify-content: space-between;
@@ -530,38 +605,74 @@
   margin-bottom: 20px;
   border-bottom: 1px solid #ebebeb;
 
-  padding-bottom: 20px;
+
   .title {
     font-size: 20px;
     color: #333333;
     font-weight: bold;
   }
+
   .more {
     font-size: 14px;
     color: #999999;
     cursor: pointer;
-  }
-}
-.cardNav {
-  margin-left: 30%;
-  margin-top: 20px;
-  padding-right: 20px;
-  cursor: pointer;
-  .cardTitle {
-    font-size: 28px;
-    color: #ffffff;
-  }
-  .cardText {
-    font-size: 14px;
-    color: #ccc;
-    margin-top: 10px;
+    font-weight: 500;
+    min-width: 60px;
+    text-align: center;
   }
 }
 
+.cardNav {
+  margin-left: 150px;
+  margin-top: 20px;
+  padding-right: 20px;
+  cursor: pointer;
+  position: relative;
+
+  #rightImg {
+    position: absolute;
+    right: 48px;
+    top: 26px;
+    height: 30px;
+  }
+
+  .cardTitle {
+    font-family: JDLangZhengTi, JDLangZhengTi;
+    font-weight: 400;
+    font-size: 32px;
+    color: #FFFFFF;
+    margin-bottom: 5px;
+    font-weight: 500;
+  }
+
+  .cardText {
+    width: 351px;
+    font-family: PingFang SC, PingFang SC;
+    font-weight: 400;
+    font-size: 14px;
+    color: #FFFFFF;
+    line-height: 25px;
+  }
+
+
+}
+
 ::v-deep(.el-tabs__item) {
-  align-items: stretch;
-  height: 50px !important;
-  white-space: pre-wrap !important;
-  width: 40% !important;
+  height: 50px;
+  line-height: 22px;
+  text-align: center;
+  padding: 15px 0;
+  box-sizing: border-box;
+  margin: 0 10px;
+}
+
+
+::v-deep(.el-tabs__header) {
+  padding: 0;
+  position: relative;
+  margin: 0 0 0 0px;
+  display: flex;
+  align-items: center;
+  justify-content: space-between
 }
 </style>

--
Gitblit v1.9.1