From cf7e71c6d0fb64eeb6b5deac540da843b4bb465c Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期二, 26 八月 2025 10:41:52 +0800
Subject: [PATCH] 关于我们-理念与品牌文化

---
 src/views/bookStore/index.vue |  264 ++++++++++++++++++++++++++++------------------------
 1 files changed, 142 insertions(+), 122 deletions(-)

diff --git a/src/views/bookStore/index.vue b/src/views/bookStore/index.vue
index 60ed9be..c568d39 100644
--- a/src/views/bookStore/index.vue
+++ b/src/views/bookStore/index.vue
@@ -14,13 +14,8 @@
       <div class="classificationBox">
         <div style="width: 100px; line-height: 60px">鍒嗙被锛�</div>
         <div class="classificaListBox">
-          <div
-            class="classificaItem"
-            :class="{ active: currentLevel == item.value }"
-            v-for="(item, index) in classfeild"
-            :key="index"
-            @click="changeLevel(item)"
-          >
+          <div class="classificaItem" :class="{ active: currentLevel == item.value }"
+            v-for="(item, index) in classfeild" :key="index" @click="changeLevel(item)">
             {{ item.name }}
           </div>
         </div>
@@ -31,11 +26,7 @@
           <div class="listTitle">
             <div>缁撴灉锛氬叡璁{ total }}鏉�</div>
             <div style="width: 340px">
-              <el-input
-                v-model="input3"
-                placeholder="杈撳叆鏁欐潗鍚嶇О銆佷綔鑰呭鍚嶃�佸嚭鍝佹柟鍚嶇О鎼滅储"
-                class="input-with-select"
-              >
+              <el-input v-model="input3" placeholder="杈撳叆涔﹀悕銆佷綔鑰呫�佷功鍙锋悳绱�" class="input-with-select">
                 <template #append>
                   <el-button :icon="Search" @click="getBookList" />
                 </template>
@@ -45,27 +36,20 @@
 
           <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 : '-' }}
-                  </div>
+                  <div class="author">{{ item.author ? item.author : '-' }} 钁�</div>
                   <div class="priceBox">
-                    <span class="oldPrice" v-if="item.oldPrice">鍘熶环锛毬{ item.oldPrice }}</span>
                     <span class="price" v-if="item.price && item.price > 0">
-                      瀹氫环锛毬�
-                      <span>{{ item.price }}</span>
+                      <span>楼 {{ item.price }}</span>
                     </span>
-                    <span class="price" v-else> 瀹氫环锛�<span class="freePrice">鍏嶈垂</span> </span>
+                    <span class="oldPrice" v-if="item.oldPrice > 0">楼 {{ item.oldPrice }}</span>
+                    <span class="price" v-if="item.price && item.price == 0"> <span class="freePrice">鍏嶈垂</span>
+                    </span>
                   </div>
                 </div>
               </div>
@@ -76,40 +60,27 @@
           </div>
 
           <div class="pagingBox">
-            <el-pagination
-              layout="total, prev, pager, next"
-              :total="total"
-              v-model:current-page="currentPage1"
-              :page-size="20"
-              @current-change="handleCurrentChange"
-              hide-on-single-page="true"
-            />
+            <el-pagination layout="total, prev, pager, next" :total="total" v-model:current-page="currentPage1"
+              :page-size="20" @current-change="handleCurrentChange" hide-on-single-page="true" />
           </div>
         </div>
         <div class="recommendBox">
           <div class="recommendTitle">鎺ㄨ崘鏁欐潗</div>
           <div class="newRecommendList">
-            <div
-              class="recommendItem"
-              v-for="item in recommendBookListData"
-              :key="item.id"
-              @click="toDetail(item)"
-            >
+            <div class="recommendItem" v-for="item in recommendBookListData" :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 : '-' }}
-                </div>
+                <div class="author">{{ item.author ? item.author : '-' }} 钁�</div>
                 <div class="priceBox">
-                  <span class="oldPrice" v-if="item.oldPrice">鍘熶环锛毬{ item.oldPrice }}</span>
                   <span class="price" v-if="item.price && item.price > 0">
-                    瀹氫环锛毬�
-                    <span>{{ item.price }}</span>
+                    <span>楼 {{ item.price }}</span>
                   </span>
-                  <span class="price" v-else> 瀹氫环锛�<span class="freePrice">鍏嶈垂</span> </span>
+                  <span class="oldPrice" v-if="item.oldPrice > 0">楼 {{ item.oldPrice }}</span>
+                  <span class="price" v-if="item.price && item.price == 0"> <span class="freePrice">鍏嶈垂</span>
+                  </span>
                 </div>
               </div>
             </div>
@@ -183,8 +154,13 @@
       },
     })
     .then((res) => {
-      console.log(res, '鎺ㄨ崘鏁欐潗')
-      recommendBookListData.value = res.datas
+      recommendBookListData.value = res.datas?.map(item => {
+        return {
+          ...item,
+          price: toolClass.toDecimal2(item.price),
+          oldPrice: toolClass.toDecimal2(item.oldPrice),
+        }
+      })
     })
 }
 
@@ -197,17 +173,26 @@
       start: (currentPage1.value - 1) * 20,
       size: 20,
     },
-    fields: {},
+    fields: {
+      author: [],
+    },
   }
   if (currentLevel.value !== 'all') {
     query.fields['teachingLevel='] = currentLevel.value
   }
   if (input3.value) {
-    query.fields['Name*'] = input3.value
+    query.fields['||Name*'] = input3.value
+    query.fields['||author*'] = input3.value
+    query.fields['||isbn*'] = input3.value
   }
   MG.store.getProductList(query).then((res) => {
-    console.log(res, '11111111111')
-    bookListData.value = res.datas
+    bookListData.value = res.datas?.map(item => {
+      return {
+        ...item,
+        price: toolClass.toDecimal2(item.price),
+        oldPrice: toolClass.toDecimal2(item.oldPrice),
+      }
+    })
     total.value = res.total
   })
 }
@@ -217,15 +202,12 @@
     refCodes: ['digitalTextbooks'],
   }
   MG.resource.getCmsTypeByRefCode(query).then((res) => {
-    console.log(res, 'res')
     const types = toolClass.handleTypeList(res)
     const typeData = types[0].cmsTypeLinks[0].children
     feildList.push(...typeData)
     const temp_classfeild = typeData.find((item) => item.typeField.refCode === 'teachingLevel')
       ?.typeField.cfg.option
     classfeild.push({ name: '鍏ㄩ儴', value: 'all' }, ...temp_classfeild)
-    console.log(typeData, 'typeData')
-    console.log(classfeild, 'classfeild')
   })
 }
 onMounted(() => {
@@ -246,6 +228,7 @@
   .bannerBox {
     height: 380px;
     position: relative;
+
     .bannerText {
       position: absolute;
       top: 50%;
@@ -257,6 +240,7 @@
       text-shadow: 0px 0px 10px #000000;
       text-align: center;
     }
+
     .enText {
       font-size: 28px;
       opacity: 0.45;
@@ -268,10 +252,12 @@
     display: flex;
     justify-content: space-between;
     margin-top: 30px;
+
     .classificaListBox {
       display: flex;
       justify-content: space-between;
       flex-wrap: wrap;
+
       .classificaItem {
         display: flex;
         align-items: center;
@@ -286,6 +272,7 @@
       }
     }
   }
+
   .bookList {
     display: flex;
     justify-content: space-between;
@@ -296,6 +283,7 @@
       border: 1px solid #e4e7ed;
       height: 100%;
       border-radius: 10px;
+
       .listTitle {
         display: flex;
         justify-content: space-between;
@@ -303,21 +291,27 @@
         padding: 20px 30px;
       }
     }
+
     .recommendBox {
       width: 19%;
       border: 1px solid #e4e7ed;
       border-radius: 10px;
+
       .recommendTitle {
-        height: 50px;
-        line-height: 50px;
-        padding-left: 20px;
-        border-bottom: 1px solid #e4e7ed;
+        height: 29px;
+        font-family: PingFang SC, PingFang SC;
+        font-weight: bold;
+        font-size: 16px;
         color: #333333;
-        font-weight: 700;
+        line-height: 29px;
+        border-bottom: 1px solid #e4e7ed;
+        padding: 0px 10px;
+        box-sizing: border-box;
       }
     }
   }
 }
+
 .recommendList {
   display: flex;
   padding: 20px;
@@ -326,49 +320,84 @@
   justify-content: start;
 
   .recommendItem {
-    margin-right: 20px;
-    width: 22%;
-    height: 300px;
+    margin-right: 10px;
+    width: 240px;
+    height: 357px;
     background-repeat: no-repeat;
     background-size: 100% 100%;
     cursor: pointer;
     border: 1px solid #dedede;
-    background-color: #fff;
+    background: rgba(255, 255, 255, 0.73);
+    border-radius: 8px 8px 8px 8px;
+    border: 1px solid #DEDEDE;
     padding-top: 10px;
-    margin-top: 10px;
+    padding: 30px 0;
+    box-sizing: border-box;
+    margin-bottom: 10px;
+
     &:last-child {
       margin-right: 0;
     }
-  }
-  .recommendItem:hover {
-    background-image: url(@/assets/images/Mouse_fill.png);
-  }
-  .recommendItemImg {
-    width: 150px;
-    height: 200px;
-    position: relative;
-    margin: 0 auto;
-  }
-  .infoBox {
-    text-align: center;
-    margin-top: 10px;
-  }
-  .author {
-    margin-top: 10px;
-  }
-  .priceBox {
-    margin-top: 10px;
-    .oldPrice {
-      font-size: 16px;
-      color: #444444;
-      text-decoration: line-through;
-      margin-right: 20px;
+
+
+    &:hover {
+      background-image: url(@/assets/images/Mouse_fill.png);
+      background-position: center;
+      background-size: 100% 100%;
+      background-repeat: no-repeat;
     }
-    .price {
-      span {
-        font-weight: bold;
-        font-size: 14px;
-      }
+
+    .recommendItemImg {
+      width: 139px;
+      height: 189px;
+      position: relative;
+      margin: 0 auto;
+    }
+
+  }
+}
+
+.infoBox {
+  text-align: center;
+  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 {
+  font-weight: 400;
+  font-size: 16px;
+  color: #333333;
+  padding: 15px 0;
+  box-sizing: border-box;
+}
+
+.priceBox {
+  font-family: DIN, DIN;
+  font-weight: 500;
+  font-size: 18px;
+  color: #D91523;
+  padding: 15px 0;
+  box-sizing: border-box;
+
+  .oldPrice {
+    color: #999999;
+    text-decoration: line-through;
+    margin-left: 20px;
+  }
+
+  .price {
+    span {
+      font-weight: bold;
+      color: #d91523;
     }
   }
 }
@@ -379,48 +408,39 @@
   flex-direction: column;
   justify-content: center;
   align-items: center;
+
   .recommendItem {
-    margin-right: 20px;
-    height: 300px;
+    margin-right: 1%;
+    width: 240px;
+    height: 357px;
     background-repeat: no-repeat;
     background-size: 100% 100%;
     cursor: pointer;
     background-color: #fff;
     padding-top: 10px;
     margin-top: 10px;
+
     &:last-child {
       margin-right: 0;
     }
-  }
-  .recommendItemImg {
-    width: 150px;
-    height: 200px;
-    position: relative;
-    margin: 0 auto;
-  }
-  .infoBox {
-    text-align: center;
-    margin-top: 10px;
-  }
-  .author {
-    margin-top: 10px;
-  }
-  .priceBox {
-    margin-top: 10px;
-    .oldPrice {
-      font-size: 16px;
-      color: #444444;
-      text-decoration: line-through;
-      margin-right: 20px;
+
+    .recommendItemImg {
+      width: 150px;
+      height: 200px;
+      position: relative;
+      margin: 0 auto;
     }
-    .price {
-      span {
-        font-weight: bold;
-        font-size: 14px;
-      }
+
+    .recommendItem:hover {
+      background-image: url(@/assets/images/Mouse_fill.png);
+      background-position: center;
+      background-size: 100% 100%;
+      background-repeat: no-repeat;
     }
   }
+
 }
+
 .pagingBox {
   display: flex;
   justify-content: center;

--
Gitblit v1.9.1