From ecbc81c918a288dc752b1634b3f545f795d992aa Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期三, 20 三月 2024 16:15:41 +0800
Subject: [PATCH] 图书分类,图书列表样式修改,答题器优化

---
 packageBookService/pages/bookServices/list/index.wxml                        |   25 ++-
 packageBookService/pages/bookServices/examination/questionList/index.wxss    |   15 +
 packageBookService/pages/bookServices/examination/questionList/index.wxml    |   10 
 custom-tab-bar/index.wxml                                                    |    5 
 packageBookService/pages/bookServices/list/index.wxss                        |   27 +++
 static/images/bookService/detail/square.png                                  |    0 
 packageBookService/pages/bookServices/examination/questionSchedule/index.js  |   10 
 packageBookService/pages/bookServices/detail/index.wxml                      |   13 +
 packageBookService/pages/bookServices/examination/questionOptions/index.js   |    6 
 packageBookService/pages/bookServices/detail/index.wxss                      |   26 ++
 custom-tab-bar/index.js                                                      |    1 
 pages/bookServices/assort/index.js                                           |   59 +++++---
 packageBookService/pages/bookServices/examination/examination.wxml           |    2 
 packageBookService/pages/bookServices/examination/questionOptions/index.wxss |    2 
 packageBookService/pages/bookServices/examination/questionOptions/index.wxml |   16 +-
 packageBookService/pages/bookServices/list/index.json                        |    3 
 packageBookService/pages/bookServices/examination/examination.js             |    9 
 packageBookService/pages/bookServices/list/index.js                          |   18 ++
 pages/bookServices/assort/index.wxml                                         |   67 ++++++---
 pages/bookServices/assort/index.wxss                                         |   60 ++++++--
 20 files changed, 260 insertions(+), 114 deletions(-)

diff --git a/custom-tab-bar/index.js b/custom-tab-bar/index.js
index 90c58df..3783000 100644
--- a/custom-tab-bar/index.js
+++ b/custom-tab-bar/index.js
@@ -8,6 +8,7 @@
   methods: {
     onChange(event) {
       this.setData({ active: event.detail.value });
+      console.log(this.data.active);
       wx.switchTab({
         url: this.data.list[event.detail.value].url.startsWith('/')
           ? this.data.list[event.detail.value].url
diff --git a/custom-tab-bar/index.wxml b/custom-tab-bar/index.wxml
index 01c11e0..90d22b6 100644
--- a/custom-tab-bar/index.wxml
+++ b/custom-tab-bar/index.wxml
@@ -3,8 +3,9 @@
     <view class="custom-tab-bar-wrapper">
       <!-- <t-icon prefix="wr" name="{{item.icon}}" size="48rpx" />
       <view class="text">{{ item.text }}</view> -->
-      <t-image wx:if="{{active !== index}}" class="tabImg" src="{{item.icon}}" mode="heightFix" width="22" height="22" />
-      <t-image wx:else class="tabImg" src="{{item.activeIcon}}" mode="heightFix" width="22" height="22" />
+      <!-- <t-image wx:if="{{active !== index}}" class="tabImg" src="{{item.icon}}" mode="heightFix" width="22" height="22" />
+      <t-image wx:else class="tabImg" src="{{item.activeIcon}}" mode="heightFix" width="22" height="22" /> -->
+      <t-image class="tabImg" src="{{active == index ? item.activeIcon : item.icon}}" width="22" height="22"></t-image>
       <view class="text">{{ item.text }}</view>
     </view>
   </t-tab-bar-item>
diff --git a/packageBookService/pages/bookServices/detail/index.wxml b/packageBookService/pages/bookServices/detail/index.wxml
index abfcb94..91c67d6 100644
--- a/packageBookService/pages/bookServices/detail/index.wxml
+++ b/packageBookService/pages/bookServices/detail/index.wxml
@@ -35,20 +35,20 @@
       <view class="detail-right">
         <view class="book-name">{{bookDetail.name}}</view>
         <view class="book-message">
-          <view class="message-li">
+          <view class="message-li" wx:if="{{bookDetail.seriesName}}">
             <view class="li-title">涓涗功鍚嶏細</view>
             <view class="li-content">{{bookDetail.seriesName}}</view>
           </view>
           <view class="message-li">
-            <view class="li-title">浣滆�咃細</view>
+            <view class="li-title" wx:if="{{bookDetail.author}}">浣滆�咃細</view>
             <view class="li-content">{{bookDetail.author}}</view>
           </view>
-          <view class="message-li">
+          <view class="message-li" wx:if="{{bookDetail.isbn}}">
             <view class="li-title">ISBN锛�</view>
             <view class="li-content">{{bookDetail.isbn}}</view>
           </view>
           <view class="message-li">
-            <view class="li-title">鍑虹増鏃堕棿锛�</view>
+            <view class="li-title" wx:if="{{bookDetail.publicationDate}}">鍑虹増鏃堕棿锛�</view>
             <view class="li-content">{{bookDetail.publicationDate}}</view>
           </view>
           <view class="message-li" wx:if="{{bookDetail.class}}" style="height: 80rpx">
@@ -56,6 +56,7 @@
             <view class="class-name showTow">{{bookDetail.class}}</view>
           </view>
         </view>
+        <t-image src="/static/images/bookService/detail/square.png" class="right-background"></t-image>
       </view>
     </view>
     <!-- 閿�鍞俊鎭� -->
@@ -136,8 +137,8 @@
       </view>
       <view class="btn-text">绾歌川鏍蜂功鐢宠</view>
     </view>
-    <view class="shopCar" bind:tap="addBookShopcCar">鍔犲叆璐墿杞�</view>
-    <view class="buy" bind:tap="buyBtn">绔嬪嵆璐拱</view>
+    <view class="shopCar {{tabValue == 'jsek_teachingResources' ? 'disabledColor' : 'shopCarColor' }}" bind:tap="addBookShopcCar">鍔犲叆璐墿杞�</view>
+    <view class="buy  {{tabValue == 'jsek_teachingResources' ? 'disabledColor' : 'buyColor' }}" bind:tap="buyBtn">绔嬪嵆璐拱</view>
   </view>
 </scroll-view>
 <!-- 鎴戣寤鸿寮圭獥 -->
diff --git a/packageBookService/pages/bookServices/detail/index.wxss b/packageBookService/pages/bookServices/detail/index.wxss
index 3fbcf6f..b7ae2c6 100644
--- a/packageBookService/pages/bookServices/detail/index.wxss
+++ b/packageBookService/pages/bookServices/detail/index.wxss
@@ -32,6 +32,19 @@
   margin-right: 36rpx;
 }
 
+.detail-right {
+  position: relative;
+}
+
+.right-background {
+  position: absolute;
+  top: 80rpx;
+  right: -80rpx;
+  z-index: 0;
+  width: 160rpx;
+  height: 160rpx;
+}
+
 .detail-right .book-name {
   width: 420rpx;
   font-weight: bold;
@@ -76,7 +89,7 @@
 }
 
 .class-name {
-  height: 2.5em;
+  height: 2.8em;
   width: 280rpx;
   font-size: 28rpx;
 }
@@ -249,21 +262,22 @@
   color: #fff;
 }
 
-.shopCar {
+.shopCarColor {
   background-color: #F1AC37;
 }
 
-.buy {
+.buyColor {
   background-color: #F14B3B;
+}
+
+.disabledColor {
+  background-color: #d9d9d9;
 }
 
 .tab-box {
   min-height: 550rpx;
 }
 
-.note-list {
-  /* margin-bottom: 80rpx; */
-}
 
 .tab-class {
   --td-loading-color: #ff6c00
diff --git a/packageBookService/pages/bookServices/examination/examination.js b/packageBookService/pages/bookServices/examination/examination.js
index d948903..6b82781 100644
--- a/packageBookService/pages/bookServices/examination/examination.js
+++ b/packageBookService/pages/bookServices/examination/examination.js
@@ -282,13 +282,15 @@
       } else {
         return false
       }
-    } else {
+    } else if (typeof data == 'object') {
       const answer = data.find((item) => item.length > 0)
       if (answer) {
         return true
       } else {
         return false
       }
+    } else {
+      return false
     }
   },
   // 鎻愪氦閫昏緫
@@ -712,7 +714,7 @@
       loading: false,
     })
   },
-  // 鎵规敼棰樼洰 锛堢粌涔狅紝鎴戠殑閿欓锛屾垜鐨勬敹钘忥級
+  // 鎵规敼棰樼洰 锛堢粌涔狅紝鎴戠殑閿欓锛屾垜鐨勬敹钘�,锛岀粍鍗凤級
   handleQuestion(num) {
     const questionList = this.data.questionDataList
     const index = num - 1 >= 0 ? num - 1 : 0
@@ -1332,7 +1334,6 @@
   },
   // 鑾峰彇缁勫嵎棰樼洰鍒楄〃
   async getMockDataList(questionList, oldList) {
-    console.log(questionList, oldList);
     const questionDataList = this.data.questionDataList
     questionList.forEach(async (pathitem, pathindex) => {
       let itemIds = []
@@ -1451,7 +1452,6 @@
           })
           let questionList = []
           const cardUpdatedList = this.data.cardList
-          // if (flag == this.data.idPathList.length) {
           cardUpdatedList.forEach(aitem => {
             aitem.infoList.forEach((bitem, bindex) => {
               questionList.push(bitem)
@@ -1462,6 +1462,7 @@
             questionDataList: questionList,
             cardList: cardUpdatedList
           })
+          console.log('缁勫嵎棰樼洰鍒楄〃', this.data.questionDataList);
         })
       })
     })
diff --git a/packageBookService/pages/bookServices/examination/examination.wxml b/packageBookService/pages/bookServices/examination/examination.wxml
index 7e55aa7..1f24f93 100644
--- a/packageBookService/pages/bookServices/examination/examination.wxml
+++ b/packageBookService/pages/bookServices/examination/examination.wxml
@@ -43,7 +43,7 @@
     bind:onChangeInput="onChangeInput"
     bind:changeSwiper="changeSwiper"
   ></question-list>
-  <view class="lodaing-box">
+  <view class="lodaing-box" wx:if="{{loading}}">
     <t-loading
       theme="circular"
       size="80rpx"
diff --git a/packageBookService/pages/bookServices/examination/questionList/index.wxml b/packageBookService/pages/bookServices/examination/questionList/index.wxml
index d776c40..a62a5f4 100644
--- a/packageBookService/pages/bookServices/examination/questionList/index.wxml
+++ b/packageBookService/pages/bookServices/examination/questionList/index.wxml
@@ -39,8 +39,8 @@
         <!-- 鍗曢�夐 -->
         <t-radio-group wx:if="{{item.questionType == 'singleChoice' || item.questionType == 'judge'}}" defaultValue="{{item.userAnswer}}" disabled="{{item.isComplete}}" bind:change="onChangeRadio" class="radio-group" data-value="{{item.option}}" data-id="{{item.id}}">
           <view wx:for="{{item.option}}" wx:for-item="contentItem" wx:for-index="contentIndex" wx:key="contentIndex">
-            <t-radio value="{{contentItem.value}}" icon="none" placement="right" borderless style="color: {{isNight ? '#fff' : '#000'}}; background-color:{{isNight ? '#000' : '#fff'}}">
-              <view class="radio-item {{item.answer == contentItem.value && item.answer == item.userAnswer  ? 'radio-correct' : item.userAnswer == contentItem.value && item.userAnswer != item.answer ?'radio-error' :''}}" style="color: {{isNight ? '#fff' : '#000'}}; background-color:{{isNight ? '#000' : '#fff'}}">
+            <t-radio value="{{contentItem.value}}" icon="none" placement="right" borderless>
+              <view class="radio-item {{item.answer == contentItem.value && item.answer == item.userAnswer  ? 'radio-correct' : item.userAnswer == contentItem.value && item.userAnswer != item.answer ?'radio-error' :''}}">
                 <!-- 浠呮枃瀛� -->
                 <text wx:if="{{item.optionStyle == 'Txt'}}">{{contentItem.value}}銆亄{contentItem.txt}}</text>
                 <!-- 浠呭浘鐗� -->
@@ -96,15 +96,15 @@
       <!-- 瑙f瀽 -->
       <view class="analysis" wx:if="{{item.isComplete}}">
         <view class="analysis-answer">
-          <view class="answer-correct">
+          <view class="answer-correct answer-center">
             <text class="analysis-title-box">姝g‘绛旀锛�</text>
             <rich-text nodes="{{item.answer}}" style="font-size: 40rpx"></rich-text>
           </view>
-          <view class="answer-error">
+          <view class="answer-center marginL {{item.isRight ? 'answer-correct' : 'answer-error'}}" wx:if="{{item.questionType !== 'shortAnswer'}}">
             <text class="analysis-title-box">鎮ㄧ殑绛旀锛�</text><text class="answer-text">{{item.userAnswer}}</text>
           </view>
         </view>
-        <view class="analysis-text" wx:if="{{item.analysisCon}}">
+        <view class="analysis-text" wx:if="{{item.analysisCon}}" style="color: {{isNight ? '#fff' : '#000'}};">
           绛旀瑙f瀽锛�<rich-text nodes="{{item.analysisCon}}" class="analysis-content"></rich-text>
         </view>
       </view>
diff --git a/packageBookService/pages/bookServices/examination/questionList/index.wxss b/packageBookService/pages/bookServices/examination/questionList/index.wxss
index 03185dd..1bdc74f 100644
--- a/packageBookService/pages/bookServices/examination/questionList/index.wxss
+++ b/packageBookService/pages/bookServices/examination/questionList/index.wxss
@@ -1,7 +1,7 @@
 /* pages/bookServices/examination/questionList/index.wxss */
 .question-list {
-  width: 100%;
-  height: 90%;
+  width: 95%;
+  height: 86%;
   padding: 20rpx;
   background-color: #ffffff;
   border-radius: 20rpx;
@@ -113,7 +113,7 @@
 
 .analysis-answer {
   display: flex;
-  justify-content: space-between;
+  /* justify-content: space-between; */
 }
 
 .answer-correct {
@@ -124,6 +124,15 @@
   color: #EE1818;
 }
 
+.marginL {
+  margin-left: 140rpx;
+}
+
+.answer-center {
+  display: flex;
+  align-items: center;
+}
+
 .answer-text {
   font-size: 40rpx;
 }
diff --git a/packageBookService/pages/bookServices/examination/questionOptions/index.js b/packageBookService/pages/bookServices/examination/questionOptions/index.js
index 49b4ac6..88d1ec6 100644
--- a/packageBookService/pages/bookServices/examination/questionOptions/index.js
+++ b/packageBookService/pages/bookServices/examination/questionOptions/index.js
@@ -48,6 +48,10 @@
     mockSumTime: {
       type: Number,
       value: 0,
+    },
+    isNight: {
+      type: Boolean,
+      value: false
     }
   },
 
@@ -60,7 +64,7 @@
     questionCardState: false,
     setUpPopup: false,
     testReportState: false,
-    sliderValue: 0,
+    sliderValue: 10,
     useTime: '',
     radioItem: 'daytime'
   },
diff --git a/packageBookService/pages/bookServices/examination/questionOptions/index.wxml b/packageBookService/pages/bookServices/examination/questionOptions/index.wxml
index ee23b79..7057d37 100644
--- a/packageBookService/pages/bookServices/examination/questionOptions/index.wxml
+++ b/packageBookService/pages/bookServices/examination/questionOptions/index.wxml
@@ -1,19 +1,19 @@
 <!--pages/bookServices/examination/questionOptions/index.wxml-->
-<view class="page-bottom">
-  <view class="li-option" bind:tap="setCollect">
+<view class="page-bottom" style="color: {{isNight ? '#fff' : '#000'}}; background-color:{{isNight ? '#000' : '#fff'}}">
+  <view class="li-option" bind:tap="setCollect" style="color: {{isNight ? '#fff' : '#000'}};">
     <t-image src="{{ questionDataList[currentIndex].isCollect ? '/static/images/bookService/detail/collecting.png' : '/static/images/bookService/examination/collect.png'}}">
     </t-image>
     鏀惰棌
   </view>
-  <view class="li-option" bind:tap="handlePopup">
+  <view class="li-option" bind:tap="handlePopup" style="color: {{isNight ? '#fff' : '#000'}};">
     <t-image src="/static/images/bookService/examination/questionCard.png"></t-image>
     绛旈鍗�
   </view>
-  <view class="li-option" bind:tap="setUpBtn">
+  <view class="li-option" bind:tap="setUpBtn" style="color: {{isNight ? '#fff' : '#000'}};">
     <t-image src="/static/images/bookService/examination/setting.png"></t-image>
     璁剧疆
   </view>
-  <view class="li-option" bind:tap="resterBtn" wx:if="{{answerType == 'option' || answerType == 'mock'}}">
+  <view class="li-option" bind:tap="resterBtn" wx:if="{{answerType == 'option' || (answerType == 'mock' && !submitStatus)}}" style="color: {{isNight ? '#fff' : '#000'}};">
     <t-image src="/static/images/bookService/examination/reset.png"></t-image>
     閲嶅仛
   </view>
@@ -66,7 +66,7 @@
     <view class="brightness">
       <text>A-</text>
       <view class="brightness-slider">
-        <t-slider defaultValue="{{30}}" theme="capsule" />
+        <t-slider value="{{sliderValue}}" theme="capsule" step="{{10}}" bind:change="onChangeSlider" />
       </view>
 
       <text>A+</text>
@@ -77,7 +77,7 @@
         <view class="card {{radioItem == 'daytime' ? 'card--active' : ''}}">
           <t-radio value="daytime" icon="none" borderless>
             <view class="radio-content" slot="content">
-              <t-image src="{{ radioItem == 'daytime' ? '/static/images/bookService/detail/practice-icon.png' : '/static/images/bookService/detail/notest.png'}}"></t-image>
+              <t-image src="{{ radioItem == 'daytime' ? '/static/images/bookService/examination/rijian.png' : '/static/images/bookService/detail/notest.png'}}"></t-image>
               <text style="color: {{radioItem == 'daytime' ? '#fff':''}};">鏃ラ棿妯″紡</text>
             </view>
           </t-radio>
@@ -85,7 +85,7 @@
         <view class="card {{radioItem == 'night' ? 'card--active' : ''}}">
           <t-radio value="night" icon="none" borderless>
             <view class="radio-content" slot="content">
-              <t-image src="{{ radioItem == 'night' ? '/static/images/bookService/detail/practice-icon.png' : '/static/images/bookService/detail/notest.png'}}"></t-image>
+              <t-image src="{{ radioItem == 'night' ? '/static/images/bookService/detail/practice-icon.png' : '/static/images/bookService/examination/yejian.png'}}"></t-image>
               <text style="color: {{radioItem == 'night' ? '#fff':''}};">澶滈棿妯″紡</text>
             </view>
           </t-radio>
diff --git a/packageBookService/pages/bookServices/examination/questionOptions/index.wxss b/packageBookService/pages/bookServices/examination/questionOptions/index.wxss
index 50a6e03..291ce81 100644
--- a/packageBookService/pages/bookServices/examination/questionOptions/index.wxss
+++ b/packageBookService/pages/bookServices/examination/questionOptions/index.wxss
@@ -195,6 +195,7 @@
 
 .brightness-slider {
   width: 80%;
+  --td-slider-active-color: #ff6c00;
 }
 
 .test-radio {
@@ -208,6 +209,7 @@
 .test-radio image {
   width: 34rpx;
   height: 34rpx;
+  margin-right: 18rpx;
 }
 
 .card {
diff --git a/packageBookService/pages/bookServices/examination/questionSchedule/index.js b/packageBookService/pages/bookServices/examination/questionSchedule/index.js
index 458b052..531b569 100644
--- a/packageBookService/pages/bookServices/examination/questionSchedule/index.js
+++ b/packageBookService/pages/bookServices/examination/questionSchedule/index.js
@@ -25,9 +25,9 @@
       type: String,
       value: ''
     },
-    isNight:{
-      type:Boolean,
-      value:false
+    isNight: {
+      type: Boolean,
+      value: false
     }
   },
   created(
@@ -90,13 +90,15 @@
         } else {
           return false
         }
-      } else {
+      } else if (typeof data == 'object') {
         const answer = data.find((item) => item.length > 0)
         if (answer) {
           return true
         } else {
           return false
         }
+      } else {
+        return false
       }
     },
     // // 鏍煎紡鍖栨椂闂�
diff --git a/packageBookService/pages/bookServices/list/index.js b/packageBookService/pages/bookServices/list/index.js
index 4fa9702..cc50289 100644
--- a/packageBookService/pages/bookServices/list/index.js
+++ b/packageBookService/pages/bookServices/list/index.js
@@ -47,6 +47,8 @@
     loadingProps: {
       size: '50rpx',
     },
+    loading: false,
+    noData: false
   },
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
@@ -138,7 +140,6 @@
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   onReachBottom(e) {
-    console.log('搴曢儴');
     const flag = this.data.bookList.length < this.data.pageCount.total
     if (flag) {
       this.setData({
@@ -275,6 +276,10 @@
   },
   // 鑾峰彇鍥句功鍒楄〃
   getBookList(path) {
+    this.setData({
+      loading: true,
+      noData: false
+    })
     let sort;
     let pathObj = {};
     if (this.data.pathList.length) {
@@ -336,9 +341,15 @@
       this.setData({
         bookList: res.datas,
         enable: false,
-        "pageCount.total": res.total
+        "pageCount.total": res.total,
+        loading: false
       });
-      console.log('鍥句功鍒楄〃', res, this.data.pageCount);
+      console.log('鍥句功鍒楄〃', res.datas);
+      if (!res.datas.length) {
+        this.setData({
+          noData: true
+        })
+      }
     });
   },
   // 涓�绾у垎绫诲垏鎹�
@@ -371,7 +382,6 @@
       pathList: pathList,
       'secondList.value': e.detail.value,
     });
-
   },
   // 
   onConfirmSecond() {
diff --git a/packageBookService/pages/bookServices/list/index.json b/packageBookService/pages/bookServices/list/index.json
index 32e63d7..397f571 100644
--- a/packageBookService/pages/bookServices/list/index.json
+++ b/packageBookService/pages/bookServices/list/index.json
@@ -6,7 +6,8 @@
     "t-image": "tdesign-miniprogram/image/image",
     "t-search": "tdesign-miniprogram/search/search",
     "t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh",
-    "t-loading": "tdesign-miniprogram/loading/loading"
+    "t-loading": "tdesign-miniprogram/loading/loading",
+    "t-empty": "tdesign-miniprogram/empty/empty"
   },
   "navigationStyle": "custom"
 }
\ No newline at end of file
diff --git a/packageBookService/pages/bookServices/list/index.wxml b/packageBookService/pages/bookServices/list/index.wxml
index c06275a..81aa827 100644
--- a/packageBookService/pages/bookServices/list/index.wxml
+++ b/packageBookService/pages/bookServices/list/index.wxml
@@ -10,8 +10,8 @@
 <view class="bookServices-list">
   <view class="list-header">
     <scroll-view scroll-x="{{true}}" class="header-scroll">
-      <t-dropdown-menu>
-        <t-dropdown-item options="{{stairList.options}}" value="{{stairList.value}}" bindchange="onChangeStair" />
+      <t-dropdown-menu style="width: 800rpx;">
+        <t-dropdown-item options="{{stairList.options}}" value="{{stairList.value}}" bindchange="onChangeStair" style="background-color: #F6F6F6;" />
         <t-dropdown-item label="浜岀骇" options="{{secondList.options}}" optionsColumns="2" multiple value="{{secondList.value}}" bind:confirm="onConfirmSecond" bind:change="onChangeSecond" />
         <t-dropdown-item label="閲嶇偣椤圭洰" options="{{majorProjectList.options}}" optionsColumns="2" multiple defaultValue="{{majorProjectList.value}}" bind:confirm="changeMajorProject" bind:reset="resetMajorProject" />
         <t-dropdown-item label="鏂板舰鎬佹暀鏉�" options="{{newTextBook.options}}" optionsColumns="2" multiple defaultValue="{{newTextBook.value}}" bind:confirm="changeNewText" bind:reset="resetNewText" />
@@ -31,13 +31,22 @@
         <view class="title-box"></view>
         <view class="title-name">{{assortCheck.name}}</view>
       </view>
-      <view class="book-list">
-        <view class="book-box" wx:for="{{bookList}}" wx:key="id" bind:tap="goDetail" data-book="{{item}}">
-          <view class="book-img">
-            <t-image src="{{item.icon}}" width="105" height="145" aria-label="{item.name{}}" />
+      <view class="page-content">
+        <view class="book-list" wx:if="{{!loaidng}}">
+          <view class="book-box" wx:for="{{bookList}}" wx:key="id" bind:tap="goDetail" data-book="{{item}}">
+            <view class="book-img">
+              <t-image src="{{item.icon ? item.icon : '/static/images/default-book-img.png'}}" width="105" height="145" aria-label="{item.name{}}" />
+            </view>
+            <view class="book-name book-color">{{ item.name}}</view>
+            <view class="book-author book-color">{{item.author}}</view>
           </view>
-          <view class="book-name book-color">{{ item.name}}</view>
-          <view class="book-author book-color">{{item.author}}</view>
+          <view wx:if="{{noData}}" class="noData">
+            <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" />
+          </view>
+        </view>
+        <!-- loading -->
+        <view class="loading-box" wx:if="{{loaidng}}">
+          <t-loading theme="circular" size="60rpx" class="wrapper" loading="{{loaidng}}" wx:if="{{loaidng}}" />
         </view>
       </view>
       <view class="bottom-box">
diff --git a/packageBookService/pages/bookServices/list/index.wxss b/packageBookService/pages/bookServices/list/index.wxss
index f708171..3a0d134 100644
--- a/packageBookService/pages/bookServices/list/index.wxss
+++ b/packageBookService/pages/bookServices/list/index.wxss
@@ -123,4 +123,31 @@
   height: 80rpx;
   font-size: 28rpx;
   --td-loading-color: #ff6c00
+}
+
+.loading-box {
+  width: 100%;
+  height: calc(100vh - 500rpx);
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  --td-loading-color: #ff6c00;
+}
+
+.noData {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+}
+
+.t-dropdown-menu {
+  display: flex;
+  align-items: center;
+}
+
+.t-dropdown-menu__item {
+  background-color: #F6F6F6;
+  border-radius: 80rpx;
+  height: 70%;
+  margin-left: 20rpx;
 }
\ No newline at end of file
diff --git a/pages/bookServices/assort/index.js b/pages/bookServices/assort/index.js
index 78224d0..e8f86b1 100644
--- a/pages/bookServices/assort/index.js
+++ b/pages/bookServices/assort/index.js
@@ -6,14 +6,20 @@
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
+    placeholderstyle: 'font-size:28rpx',
     assortList: [],
     assortCheck: {
       name: '',
       code: '',
     },
     startList: [],
-    startCheck: '',
+
+    startCheck: {
+      id: '',
+      code: ''
+    },
     bookList: [],
+    loading: false,
     listLoding: false,
   },
 
@@ -21,8 +27,7 @@
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
   onLoad(options) {
-    // this.getAssortList()
-    console.log(options);
+    this.getAssortList();
   },
 
   /**
@@ -34,7 +39,6 @@
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
   onShow() {
-    this.getAssortList();
   },
 
   /**
@@ -64,6 +68,9 @@
 
   // 鑾峰彇渚ц竟鏍忓垪琛�
   getAssortList() {
+    this.setData({
+      loading: true
+    })
     const query = {
       path: '*',
       filterList: [
@@ -83,6 +90,7 @@
       const list = res.datas.filter((item) => item.refCode != 'jsek_homepageBookService');
       this.setData({
         assortList: list,
+        loading: false
       });
       this.setData({
         assortCheck: {
@@ -94,14 +102,14 @@
     });
   },
   // 渚ц竟鏍忓垏鎹�
-  changeAssort(data) {
+  changeAssort(e) {
     this.setData({
       assortCheck: {
-        name: data.detail.label,
-        code: data.detail.value,
+        name: e.detail.label,
+        code: e.detail.value,
       },
     });
-    this.getStairList(data.detail.value);
+    this.getStairList(e.detail.value);
   },
   // 鑾峰彇涓�绾у垎绫�
   getStairList(path) {
@@ -110,7 +118,12 @@
     });
     const query = {
       path,
-      filterList: [],
+      filterList: [
+        {
+          value: 'Normal',
+          field: 'state'
+        }
+      ],
       queryType: '\\',
       searchList: [],
       size: '30',
@@ -119,23 +132,20 @@
       sort: { type: 'Asc', field: 'LinkOrder' },
     };
     app.MG.store.getStoreChannelList(query).then(async (res) => {
-      // 涓�绾у垎绫婚�変腑
-      // this.setData({
-      //   startCheck: res.datas[0].refCode,
-      // });
       // 鑾峰彇浜岀骇鍒嗙被
       for (let index = 0; index < res.datas.length; index++) {
         const item = res.datas[index];
         item.icon ? item.icon = getPublicImage(item.icon, 58, 72) : item.icon = item.icon
         item.children = await this.getSecondList(item);
       }
+      console.log(res.datas);
       // 涓�绾у垎绫昏祴鍊�
       this.setData({
         startList: res.datas,
+        listLoding: false,
+        'startCheck.id': res.datas[0].id,
+        'startCheck..code': ''
       });
-    });
-    this.setData({
-      listLoding: false,
     });
   },
 
@@ -145,7 +155,12 @@
     let datas;
     const query = {
       path,
-      filterList: [],
+      filterList: [
+        {
+          value: 'Normal',
+          field: 'state'
+        }
+      ],
       queryType: '\\',
       searchList: [],
       size: '30',
@@ -167,7 +182,8 @@
   tabClick(e) {
     const data = e.currentTarget.dataset.tabdata;
     this.setData({
-      startCheck: data.refCode,
+      'startCheck.id': data.id,
+      'startCheck.code': data.refCode,
     });
     console.log(data);
   },
@@ -176,12 +192,13 @@
     const tab = e.currentTarget.dataset.tabdata
     const stair = e.currentTarget.dataset.stair
     this.setData({
-      startCheck: tab.refCode
+      'startCheck.id': tab.id,
+      'startCheck.code': tab.refCode
     })
     if (stair) {
       const secondCode = `${stair.pathLinks[0].linkPath}\\${stair.id}`;
       wx.navigateTo({
-        url: `/packageBookService/pages/bookServices/list/index?assorName=${this.data.assortCheck.name}&assortCode=${this.data.assortCheck.code}&stairCode=${this.data.startCheck}&secondCode=${secondCode}`,
+        url: `/packageBookService/pages/bookServices/list/index?assorName=${this.data.assortCheck.name}&assortCode=${this.data.assortCheck.code}&stairCode=${this.data.startCheck.code}&secondCode=${secondCode}`,
       });
     } else {
       wx.navigateTo({
@@ -192,7 +209,7 @@
   },
   navToSearchPage(e) {
     wx.navigateTo({
-      url: `/packageBookService/pages/bookServices/list/index?assorName=${this.data.assortCheck.name}&assortCode=${this.data.assortCheck.code}&stairCode=${this.data.startCheck}&searchValue=${e.detail.value}`,
+      url: `/packageBookService/pages/bookServices/list/index?assorName=${this.data.assortCheck.name}&assortCode=${this.data.assortCheck.code}&stairCode=${this.data.startCheck.code}&searchValue=${e.detail.value}`,
     });
   },
 });
diff --git a/pages/bookServices/assort/index.wxml b/pages/bookServices/assort/index.wxml
index aca70a8..59c923d 100644
--- a/pages/bookServices/assort/index.wxml
+++ b/pages/bookServices/assort/index.wxml
@@ -2,45 +2,62 @@
 <view class="page-header">
   <!-- 鎼滅储妗� -->
   <view class="search">
-    <t-search t-class-input="t-search__input" t-class-input-container="t-search__input-container" placeholder="璇疯緭鍏ュ叧閿瘝/涔﹀悕/ISBN/浣滆��" leftIcon="" bind:submit="navToSearchPage" placeholder-class="placeholder" placeholder-style="font-size:28rpx;">
+    <t-search t-class-input="t-search__input" t-class-input-container="t-search__input-container" placeholder="璇疯緭鍏ュ叧閿瘝/涔﹀悕/ISBN/浣滆��" leftIcon="" bind:submit="navToSearchPage" placeholder-style="{{placeholderstyle}}">
       <t-icon slot="left-icon" prefix="wr" name="search" size="40rpx" color="#bbb" />
     </t-search>
   </view>
 </view>
 
 <view class="page-container">
-  <view class="side-bar-wrapper">
+  <view class="side-bar-wrapper" wx:if="{{!loading}}">
     <view class="tab-left">
       <t-side-bar value="{{assortCheck.code}}" bind:change="changeAssort">
         <t-side-bar-item wx:for="{{assortList}}" wx:key="id" value="{{item.refCode}}" label="{{item.name}}" badge-props="{{item.badgeProps}}" />
       </t-side-bar>
     </view>
-    <view class="side-bar-content">
-      <!-- 涓�绾у垎绫� -->
-      <view class="tab-top">
-        <scroll-view scroll-x="{{true}}" class="myScroll">
-          <view wx:for="{{startList}}" wx:key="id" class="row {{startCheck == item.refCode ? 'tab-active' : ''}}" bind:tap="tabClick" data-tabData="{{item}}">{{item.name}}</view>
-        </scroll-view>
-      </view>
-      <!-- 鍐呭 -->
-      <scroll-view scroll-y="{{true}}" class="class-list" scroll-into-view="{{startCheck}}">
-        <view wx:if="{{listLoading}}">
-          <t-loading theme="spinner" size="400rpx" loading="{{listLoading}}"></t-loading>
+    <view class="page-right">
+      <!-- 鍙充晶 -->
+      <view class="side-bar-content" wx:if="{{!listLoding}}">
+        <!-- 涓�绾у垎绫� -->
+        <view class="tab-top">
+          <scroll-view scroll-x="{{true}}" class="myScroll" show-scrollbar="{{false}}">
+            <view wx:for="{{startList}}" wx:key="id" class="row {{startCheck.id == item.id ? 'tab-active' : ''}}" bind:tap="tabClick" data-tabData="{{item}}">{{item.name}}</view>
+          </scroll-view>
         </view>
-        <view wx:for="{{startList}}" wx:for-item="item" wx:key="item.refCode" id="{{item.refCode}}" class="class-box" wx:if="{{!listLoading}}">
-          <view class="class-name">{{item.name}}</view>
-          <view class="class-content">
-            <view wx:for="{{item.children}}" wx:for-item="citem" wx:key="id" class="book-box" bind:tap="goPageList" data-stair="{{citem}}" data-tabData="{{item}}" wx:if="{{item.children.length}}">
-              <image src="{{citem.icon ? citem.icon : '/static/images/bookService/assort/book-img.png'}}" mode="heightFix" />
-              <view class="classify">{{citem.name}}</view>
-            </view>
-            <view wx:if="{{!item.children.length}}" class="book-box" bind:tap="goPageList" data-tabData="{{item}}">
-              <image src="{{item.icon ? item.icon : '/static/images/bookService/assort/book-img.png'}}" mode="heightFix"></image>
-              <text class="classify">鍏ㄩ儴</text>
+        <!-- 鍐呭 -->
+        <scroll-view scroll-y="{{true}}" class="class-list" scroll-into-view="{{ 'list' + startCheck.id}}">
+          <view wx:if="{{listLoading}}">
+            <t-loading theme="spinner" size="400rpx" loading="{{listLoading}}"></t-loading>
+          </view>
+          <view wx:for="{{startList}}" wx:for-item="item" wx:key="item.id" id="{{ 'list' + item.id}}" class="class-box" wx:if="{{!listLoading}}">
+            <view class="class-name">{{item.name}}</view>
+            <view class="class-content">
+              <view wx:for="{{item.children}}" wx:for-item="citem" wx:key="id" class="book-box" bind:tap="goPageList" data-stair="{{citem}}" data-tabData="{{item}}" wx:if="{{item.children.length}}">
+                <view class="assort-img">
+                  <image src="{{citem.icon ? citem.icon : '/static/images/bookService/assort/book-img.png'}}" mode="heightFix" />
+                </view>
+                <view class="classify">{{citem.name}}</view>
+              </view>
+              <view wx:if="{{!item.children.length}}" class="book-box" bind:tap="goPageList" data-tabData="{{item}}">
+                <view class="assort-img">
+                  <image src="{{item.icon ? item.icon : '/static/images/bookService/assort/book-img.png'}}" mode="heightFix"></image>
+                </view>
+                <text class="classify">鍏ㄩ儴</text>
+              </view>
             </view>
           </view>
-        </view>
-      </scroll-view>
+          <view class="bottom-box">
+          </view>
+        </scroll-view>
+      </view>
+      <!-- loading -->
+      <view class="loading-box" wx:if="{{listLoding}}">
+        <t-loading theme="circular" size="60rpx" class="wrapper" loading="{{listLoding}}" wx:if="{{listLoding}}" />
+      </view>
     </view>
+
+  </view>
+  <view class="loading-box" wx:if="{{loading}}">
+    <t-loading theme="circular" size="60rpx" class="wrapper" loading="{{loading}}" wx:if="{{loading}}" />
   </view>
 </view>
\ No newline at end of file
diff --git a/pages/bookServices/assort/index.wxss b/pages/bookServices/assort/index.wxss
index 184d7ef..f065f59 100644
--- a/pages/bookServices/assort/index.wxss
+++ b/pages/bookServices/assort/index.wxss
@@ -13,14 +13,12 @@
   left: 0;
   width: 100%;
   z-index: 99;
-  font-size: 28rpx;
+  --td-search-font-size: 28rpx;
 }
 
-.placeholder {
-  font-size: 28rpx;
-}
 
-.page-header .t-search__input-container {
+.page-header .search .t-search__input-container {
+  font-size: 28rpx !important;
   border-radius: 15rpx !important;
   margin: 0 24rpx;
   height: 64rpx !important;
@@ -29,15 +27,17 @@
 .page-container {
   padding: 120rpx 0 20rpx 0;
   width: 100%;
+  height: 90%;
 }
 
 .side-bar-wrapper {
+  height: 100%;
   background-color: #f2f3f8;
   display: flex;
 }
 
 .side-bar-content {
-  width: 70%;
+  width: 100%;
   padding: 0 20rpx;
 }
 
@@ -88,19 +88,20 @@
 
 .class-list {
   /* overflow-y: auto; */
-  height: 72.5vh;
-  width: 262px;
+  height: calc(100vh - 326rpx);
+  width: calc(100vw - 210rpx);
 }
 
 .class-box {
   background-color: #fff;
-  margin-bottom: 10rpx;
+  margin-bottom: 20rpx;
   padding: 10rpx 12rpx;
   border-radius: 12rpx;
-  /* height: 60rpx; */
 }
 
+
 .class-name {
+  padding: 20rpx 0 0 20rpx;
   font-size: 32rpx;
   font-weight: 700;
 }
@@ -113,8 +114,11 @@
 }
 
 .book-box {
-  width: 48%;
-  margin: 0 10rpx 20rpx 0
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  width: 50%;
+  margin-bottom: 26rpx;
 }
 
 .book-box:nth-child(2n) {
@@ -123,13 +127,39 @@
 
 .book-box image {
   height: 142rpx;
-  object-fit: contain;
+  object-fit: contain !important;
 }
 
 .classify {
   max-width: 90%;
-  white-space: nowrap;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
   overflow: hidden;
-  text-overflow: ellipsis;
   font-size: 14px;
+}
+
+.assort-img {
+  width: 116rpx;
+  height: 142rpx;
+  box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16);
+  margin-bottom: 20rpx;
+}
+
+.page-right {
+  width: 100%;
+}
+
+.loading-box {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  --td-loading-color: #ff6c00;
+}
+
+.bottom-box {
+  height: 40rpx;
 }
\ No newline at end of file
diff --git a/static/images/bookService/detail/square.png b/static/images/bookService/detail/square.png
new file mode 100644
index 0000000..fc6a912
--- /dev/null
+++ b/static/images/bookService/detail/square.png
Binary files differ

--
Gitblit v1.9.1