Переглянути джерело

书架增加未上架分类

natasha 1 день тому
батько
коміт
b570983fdd

+ 22 - 11
src/components/common/BookCard.vue

@@ -54,8 +54,16 @@
       >
       </el-image>
       <div class="bottom">
-        <p class="name">{{ item.name }}</p>
-        <!-- <template>
+        <template v-if="item.isYD">
+          <p class="name">{{ item.iss_no }}</p>
+
+          <p class="author">
+            {{ item.study_phase_name || "暂无" }}
+          </p>
+        </template>
+        <template v-else>
+          <p class="name">{{ item.name }}</p>
+          <!-- <template>
                 <el-rate
                 v-model="item.score"
                 disabled
@@ -65,15 +73,17 @@
                 >
                 </el-rate>
             </template> -->
-        <p class="author">
-          {{
-            item.shelve_date ||
-            item.typeName ||
-            item.classperiod ||
-            item.author ||
-            "暂无"
-          }}
-        </p>
+          <p class="author">
+            {{
+              item.shelve_date ||
+              item.typeName ||
+              item.classperiod ||
+              item.author ||
+              "暂无"
+            }}
+          </p>
+        </template>
+
         <template v-if="!type || type != 'bookShelf'">
           <p class="price">
             <span class="OPPOSans"
@@ -183,6 +193,7 @@ export default {
       return { newarr, timeArr, rateArr };
     },
     async handleLink() {
+      if (this.item.isYD) return;
       let url = this.LoginNavIndex + "&&&1&&&2&&&3&&&" + this.previousPage;
       if (this.LoginNavIndex === 0 && this.userMessage) {
         let MethodName = "/ShopServer/Client/BookshelfQuery/SetMyGoodsIsLooked";

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
src/icons/svg/daishangjia.svg


+ 127 - 65
src/views/bookShelf/index.vue

@@ -25,7 +25,7 @@
     </ul>
     <div class="main">
       <template v-if="userMessage">
-        <div class="searchChangebox">
+        <div class="searchChangebox" v-if="typeValue !== -2">
           <div class="searchChange-box">
             <div
               class="searchChange"
@@ -78,38 +78,10 @@
               : optionList[typeIndex].number
           }}</b>
         </h5>
-        <div class="list" v-if="BookList.length > 0">
-          <!-- v-infinite-scroll="load" -->
-          <div
-            v-for="(item, index) in BookList"
-            :key="index + 'todayNew'"
-            v-infinite-scroll="load"
-            infinite-scroll-disabled="disabled"
-            :class="[item.type === 3 ? 'book-item-peruse' : '']"
-          >
-            <template v-if="item.type === 3">
-              <BookPeruseCard
-                :item="item"
-                type="bookShelf"
-                :headerBg="'#00ADEF'"
-                :headerBorder="'#5C5C5C'"
-                :userBg="'rgba(0, 0, 0, 0.24)'"
-                :LoginNavIndex="0"
-                :previousPage="'书架'"
-              />
-            </template>
-            <template v-if="item.type === 30">
-              <BookPeruseListCard
-                :item="item"
-                type="bookShelf"
-                :headerBg="'#00ADEF'"
-                :headerBorder="'#5C5C5C'"
-                :userBg="'rgba(0, 0, 0, 0.24)'"
-                :LoginNavIndex="0"
-                :previousPage="'书架'"
-              />
-            </template>
-            <template v-else>
+        <template v-if="typeValue === -2">
+          <div class="list" v-if="YDWSJList.length > 0">
+            <!-- v-infinite-scroll="load" -->
+            <div v-for="(item, index) in YDWSJList" :key="index + 'todayNew'">
               <BookCard
                 :item="item"
                 type="bookShelf"
@@ -120,15 +92,66 @@
                 :previousPage="'书架'"
                 :cardType="item.course_type"
               />
-            </template>
+            </div>
           </div>
-          <p v-if="loading" class="tips">加载中...</p>
-          <p v-if="noMore" class="tips">没有更多了</p>
-        </div>
-        <div class="nodata" v-else>
-          <img src="../../assets/nodata.png" />
-          <p>找不到文件</p>
-        </div>
+          <div class="nodata" v-else>
+            <img src="../../assets/nodata.png" />
+            <p>找不到文件</p>
+          </div>
+        </template>
+        <template v-else>
+          <div class="list" v-if="BookList.length > 0">
+            <!-- v-infinite-scroll="load" -->
+            <div
+              v-for="(item, index) in BookList"
+              :key="index + 'todayNew'"
+              v-infinite-scroll="load"
+              infinite-scroll-disabled="disabled"
+              :class="[item.type === 3 ? 'book-item-peruse' : '']"
+            >
+              <template v-if="item.type === 3">
+                <BookPeruseCard
+                  :item="item"
+                  type="bookShelf"
+                  :headerBg="'#00ADEF'"
+                  :headerBorder="'#5C5C5C'"
+                  :userBg="'rgba(0, 0, 0, 0.24)'"
+                  :LoginNavIndex="0"
+                  :previousPage="'书架'"
+                />
+              </template>
+              <template v-if="item.type === 30">
+                <BookPeruseListCard
+                  :item="item"
+                  type="bookShelf"
+                  :headerBg="'#00ADEF'"
+                  :headerBorder="'#5C5C5C'"
+                  :userBg="'rgba(0, 0, 0, 0.24)'"
+                  :LoginNavIndex="0"
+                  :previousPage="'书架'"
+                />
+              </template>
+              <template v-else>
+                <BookCard
+                  :item="item"
+                  type="bookShelf"
+                  :headerBg="'#00ADEF'"
+                  :headerBorder="'#5C5C5C'"
+                  :userBg="'rgba(0, 0, 0, 0.24)'"
+                  :LoginNavIndex="0"
+                  :previousPage="'书架'"
+                  :cardType="item.course_type"
+                />
+              </template>
+            </div>
+            <p v-if="loading" class="tips">加载中...</p>
+            <p v-if="noMore" class="tips">没有更多了</p>
+          </div>
+          <div class="nodata" v-else>
+            <img src="../../assets/nodata.png" />
+            <p>找不到文件</p>
+          </div>
+        </template>
       </template>
       <template v-else>
         <p class="login-no">
@@ -211,11 +234,11 @@ export default {
           number: 0,
           value: 2,
         },
-        {
-          label: "练习册",
-          img: "xiti",
-          number: 0,
-        },
+        // {
+        //   label: "练习册",
+        //   img: "xiti",
+        //   number: 0,
+        // },
         {
           label: "课程",
           img: "kecheng",
@@ -228,18 +251,24 @@ export default {
           number: 0,
           value: 3,
         },
-        {
-          label: "专辑",
-          img: "zhuanji",
-          number: 0,
-          value: 20,
-        },
+        // {
+        //   label: "专辑",
+        //   img: "zhuanji",
+        //   number: 0,
+        //   value: 20,
+        // },
         // ,
         // {
         //     label: '合刊',
         //     img: 'hekan',
         //     number: '6'
         // }
+        {
+          label: "预定待上架",
+          img: "daishangjia",
+          number: 0,
+          value: -2,
+        },
       ],
       typeValue: -1,
       changeList: [
@@ -274,6 +303,8 @@ export default {
       cancelToken: null,
       source: axios.CancelToken.source(),
       loadFlag: true,
+      YDWSJList: [],
+      YDWSJNumber: 0,
     };
   },
   //计算属性 类似于data概念
@@ -292,6 +323,8 @@ export default {
       this.pageNumber = 1;
       if (item.hasOwnProperty("value")) {
         this.typeValue = item.value;
+        if (item.value === -2) return;
+        console.log(item.value);
         if (item.number > 0 || item.value === 3 || item.value === -1) {
           this.BookList = [
             {
@@ -321,6 +354,7 @@ export default {
         this.typeValue = null;
         this.BookList = [];
       }
+      if (item.value === -2) return;
       this.source.cancel("Operation canceled by the user.");
       $(".list").animate(
         {
@@ -498,13 +532,16 @@ export default {
     },
     load() {
       if (this.userMessage && this.loadFlag) {
+        if (this.typeValue === -2) return;
         if (
           this.pageNumber > 2 &&
           (this.typeValue === -1 ||
             (this.typeValue === 10 &&
+              this.BookList[0] &&
               this.BookList[0].type === 0 &&
               this.BookList.length > 0) ||
-            (this.typeValue === this.BookList[0].type &&
+            (this.BookList[0] &&
+              this.typeValue === this.BookList[0].type &&
               this.BookList.length > 0))
         ) {
           this.pageNumber++;
@@ -540,11 +577,11 @@ export default {
                 number: res.count_issue,
                 value: 2,
               },
-              {
-                label: "练习册",
-                img: "xiti",
-                number: 0,
-              },
+              // {
+              //   label: "练习册",
+              //   img: "xiti",
+              //   number: 0,
+              // },
               {
                 label: "课程",
                 img: "kecheng",
@@ -557,18 +594,24 @@ export default {
                 number: res.count_iread,
                 value: 3,
               },
-              {
-                label: "专辑",
-                img: "zhuanji",
-                number: res.count_album,
-                value: 20,
-              },
+              // {
+              //   label: "专辑",
+              //   img: "zhuanji",
+              //   number: res.count_album,
+              //   value: 20,
+              // },
               // ,
               // {
               //     label: '合刊',
               //     img: 'hekan',
               //     number: '6'
               // }
+              {
+                label: "预定待上架",
+                img: "daishangjia",
+                number: this.YDWSJNumber,
+                value: -2,
+              },
             ];
           }
         })
@@ -580,13 +623,32 @@ export default {
     cancelLogin() {
       this.loginFlag = false;
     },
+    getYDWSJ() {
+      let MethodName =
+        "/ShopServer/Client/BookshelfQuery/QueryMyGoodsList_YDWSK";
+      getLogin(MethodName, {
+        goods_type: -1,
+      })
+        .then((res) => {
+          if (res.status === 1) {
+            res.goods_list.forEach((items) => {
+              items.isYD = true;
+            });
+            this.YDWSJList = res.goods_list;
+            this.YDWSJNumber = res.goods_list.length;
+            let item = this.optionList.find((p) => p.value === -2);
+            item.number = res.goods_list.length;
+          }
+        })
+        .catch(() => {});
+    },
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {
-    console.log("2025-08-20");
     if (this.userMessage) {
       this.getNumber();
       this.getList();
+      this.getYDWSJ();
     }
   },
   //生命周期 - 挂载完成(可以访问DOM元素)

+ 2 - 2
src/views/search/index.vue

@@ -29,7 +29,7 @@
           </li>
         </ul>
       </div>
-      <div v-if="hotSearchList.length > 0">
+      <!-- <div v-if="hotSearchList.length > 0">
         <h2>热门搜索</h2>
         <ul class="hotSearch">
           <li
@@ -42,7 +42,7 @@
             <b :title="item">{{ item }}</b>
           </li>
         </ul>
-      </div>
+      </div> -->
     </div>
   </div>
 </template>

Деякі файли не було показано, через те що забагато файлів було змінено