From 3d73fb33c46aada16a6060adcd4ea14bb33b6b2a Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期二, 09 四月 2024 10:39:11 +0800
Subject: [PATCH] 详情页tabs样式优化,答题添加页面退出拦截,合并代码

---
 packageBookService/pages/bookServices/list/index.js |  344 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 180 insertions(+), 164 deletions(-)

diff --git a/packageBookService/pages/bookServices/list/index.js b/packageBookService/pages/bookServices/list/index.js
index 7903f4f..6f9dd50 100644
--- a/packageBookService/pages/bookServices/list/index.js
+++ b/packageBookService/pages/bookServices/list/index.js
@@ -1,16 +1,14 @@
 const app = getApp();
-import {
-  loginInfo
-} from '../../../../assets/js/login';
+import { loginInfo } from "../../../../assets/js/login";
 Page({
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-    barHeight: '',
-    navBarHeight: '',
-    searchValue: '',
-    path: '',
+    barHeight: "",
+    navBarHeight: "",
+    searchValue: "",
+    path: "",
     pathList: [],
     pageCount: {
       page: 1,
@@ -18,16 +16,18 @@
     },
     isMore: null,
     assortCheck: {
-      name: '',
-      code: '',
+      name: "",
+      code: "",
     },
     bookList: [],
     stairList: {
-      value: '',
-      options: [{
-        value: '',
-        label: '涓�绾�',
-      }, ],
+      value: "",
+      options: [
+        {
+          value: "",
+          label: "涓�绾�",
+        },
+      ],
     },
     secondList: {
       value: [],
@@ -39,38 +39,40 @@
       options: [],
     },
     sortList: {
-      value: 'default',
-      options: [{
-          value: 'default',
-          label: '榛樿鎺掑簭',
-        }, {
-          value: 'name-asc',
-          label: '鍚嶇О姝e簭'
+      value: "default",
+      options: [
+        {
+          value: "default",
+          label: "榛樿鎺掑簭",
         },
         {
-          value: 'name-desc',
-          label: '鍚嶇О鍊掑彊'
+          value: "name-asc",
+          label: "鍚嶇О姝e簭",
         },
         {
-          value: 'time-asc',
-          label: '鍑虹増鏃堕棿姝e簭'
+          value: "name-desc",
+          label: "鍚嶇О鍊掑彊",
         },
         {
-          value: 'time-desc',
-          label: '鍑虹増鏃堕棿鍊掑彊'
-        }
+          value: "time-asc",
+          label: "鍑虹増鏃堕棿姝e簭",
+        },
+        {
+          value: "time-desc",
+          label: "鍑虹増鏃堕棿鍊掑彊",
+        },
       ],
     },
     newTextBook: {
       value: [],
       options: [],
     },
-    stairCode: '', // 涓�绾у垎绫婚�変腑椤�
-    secondCode: '', // 浜岀骇鍒嗙被閫変腑椤�
-    sort: '', // 鎺掑簭
+    stairCode: "", // 涓�绾у垎绫婚�変腑椤�
+    secondCode: "", // 浜岀骇鍒嗙被閫変腑椤�
+    sort: "", // 鎺掑簭
     enable: false,
     loadingProps: {
-      size: '50rpx'
+      size: "50rpx",
     },
     loading: false,
     noData: false,
@@ -81,6 +83,7 @@
     disabledProject: false,
     disabledNewForms: false,
     triggered: false,
+    backTop: "",
   },
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
@@ -88,7 +91,8 @@
   onLoad(options) {
     const systInfo = wx.getSystemInfoSync();
     const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅
-    const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴�
+    const navBarHeight =
+      (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴�
     this.setData({
       barHeight: systInfo.statusBarHeight,
       navBarHeight: navBarHeight,
@@ -114,7 +118,7 @@
     // 涓�绾у垎绫诲拰path璧嬪��
     if (options.stairCode) {
       this.setData({
-        'stairList.value': options.stairCode,
+        "stairList.value": options.stairCode,
         stairCode: options.stairCode,
         path: `${options.assortCode}\\${options.stairCode}`,
       });
@@ -123,19 +127,21 @@
     if (options.secondCode) {
       this.setData({
         secondCode: options.secondCode,
-        pathList: [{
-          Path: options.secondCode,
-          Type: '*',
-          StoreRefCode: app.config.goodsStore,
-        }],
-      })
+        pathList: [
+          {
+            Path: options.secondCode,
+            Type: "*",
+            StoreRefCode: app.config.goodsStore,
+          },
+        ],
+      });
     }
     // 鑾峰彇浜岀骇鍒嗙被
     this.getSecondList(`${options.assortCode}\\${options.stairCode}`);
     this.getBookList(`${options.assortCode}\\${options.stairCode}`);
     // 鑾峰彇閲嶇偣椤圭洰
-    this.getProjectList('bookClassification');
-    this.getProjectList('newFormsTextbooks');
+    this.getProjectList("bookClassification");
+    this.getProjectList("newFormsTextbooks");
   },
 
   /**
@@ -163,11 +169,11 @@
    */
   onPullDownRefresh() {
     this.setData({
-      triggered: true
-    })
+      triggered: true,
+    });
     this.setData({
-      'pageCount.page': 1
-    })
+      "pageCount.page": 1,
+    });
     this.getBookList(this.data.path);
   },
 
@@ -175,25 +181,24 @@
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   onReachBottom(e) {
-    const flag = this.data.bookList.length < this.data.pageCount.total
+    const flag = this.data.bookList.length < this.data.pageCount.total;
     if (flag) {
       if (!this.data.isRequesting) {
         this.setData({
           isMore: true,
-          "pageCount.page": this.data.pageCount.page + 1
-        })
-        this.getBookList(this.data.path)
+          "pageCount.page": this.data.pageCount.page + 1,
+        });
+        this.getBookList(this.data.path);
       }
     } else {
       this.setData({
         isMore: true,
-      })
+      });
       setTimeout(() => {
         this.setData({
-          isMore: false
-        })
-      }, 100)
-      console.log('娌℃湁鏇村浜�');
+          isMore: false,
+        });
+      }, 100);
     }
   },
 
@@ -207,26 +212,28 @@
   // 鑾峰彇涓�绾у垪琛�
   getStairList(path) {
     this.setData({
-      disabledStair: false
-    })
+      disabledStair: false,
+    });
     const query = {
       path,
       filterList: [],
-      queryType: '\\',
+      queryType: "\\",
       searchList: [],
-      size: '30',
-      start: '0',
+      size: "30",
+      start: "0",
       storeRefCode: app.config.goodsStore,
       sort: {
-        type: 'Asc',
-        field: 'LinkOrder'
+        type: "Asc",
+        field: "LinkOrder",
       },
     };
     app.MG.store.getStoreChannelList(query).then(async (res) => {
-      const options = [{
-        value: '',
-        label: '涓�绾�',
-      }, ];
+      const options = [
+        {
+          value: "",
+          label: "涓�绾�",
+        },
+      ];
       for (let index = 0; index < res.datas.length; index++) {
         const item = res.datas[index];
         options.push({
@@ -235,13 +242,13 @@
         });
       }
       this.setData({
-        'stairList.options': options,
-        'stairList.value': this.data.stairCode,
+        "stairList.options": options,
+        "stairList.value": this.data.stairCode,
       });
       if (!options.length) {
         this.setData({
-          disabledStair: true
-        })
+          disabledStair: true,
+        });
       }
     });
   },
@@ -251,25 +258,25 @@
     const query = {
       path,
       filterList: [],
-      queryType: '\\',
+      queryType: "\\",
       searchList: [],
-      size: '30',
-      start: '0',
+      size: "30",
+      start: "0",
       storeRefCode: app.config.goodsStore,
       sort: {
-        type: 'Asc',
-        field: 'LinkOrder'
+        type: "Asc",
+        field: "LinkOrder",
       },
     };
     app.MG.store.getStoreChannelList(query).then((res) => {
       if (!res.datas.length) {
         this.setData({
-          disabledSecondList: true
-        })
+          disabledSecondList: true,
+        });
       } else {
         this.setData({
-          disabledSecondList: false
-        })
+          disabledSecondList: false,
+        });
       }
       for (let index = 0; index < res.datas.length; index++) {
         const item = res.datas[index];
@@ -279,20 +286,20 @@
         });
       }
       this.setData({
-        'secondList.options': options,
+        "secondList.options": options,
       });
-      const second = [this.data.secondCode]
+      const second = [this.data.secondCode];
       this.setData({
-        'secondList.value': second
-      })
+        "secondList.value": second,
+      });
     });
   },
   // 鑾峰彇閲嶇偣椤圭洰
   getProjectList(type) {
     this.setData({
       disabledProject: false,
-      disabledNewForms: false
-    })
+      disabledNewForms: false,
+    });
     const options = [];
     const arr = [];
     let array = [];
@@ -300,7 +307,9 @@
       refCodes: [type],
     };
     app.MG.store.getProductTypeField(query).then((res) => {
-      array = JSON.parse(res[0].config).option.filter(item => item.value == this.data.assortCheck.code);
+      array = JSON.parse(res[0].config).option.filter(
+        (item) => item.value == this.data.assortCheck.code
+      );
       for (let index = 0; index < array.length; index++) {
         const element = array[index];
         if (element.child) {
@@ -310,7 +319,7 @@
           }
         }
       }
-      if (type == 'bookClassification') {
+      if (type == "bookClassification") {
         for (let index = 0; index < arr.length; index++) {
           const element = arr[index];
           options.push({
@@ -320,13 +329,13 @@
         }
         if (!options.length) {
           this.setData({
-            disabledProject: true
-          })
+            disabledProject: true,
+          });
         }
         this.setData({
-          'majorProjectList.options': options,
+          "majorProjectList.options": options,
         });
-      } else if (type == 'newFormsTextbooks') {
+      } else if (type == "newFormsTextbooks") {
         for (let index = 0; index < arr.length; index++) {
           const element = arr[index];
           options.push({
@@ -336,13 +345,13 @@
         }
         if (!options.length) {
           this.setData({
-            disabledNewForms: true
-          })
+            disabledNewForms: true,
+          });
         }
         this.setData({
-          'newTextBook.options': options,
+          "newTextBook.options": options,
         });
-        console.log('閲嶇偣椤圭洰', this.data.newTextBook);
+        console.log("閲嶇偣椤圭洰", this.data.newTextBook);
       }
     });
   },
@@ -354,8 +363,8 @@
     this.setData({
       loading: true,
       noData: false,
-      isRequesting: true
-    })
+      isRequesting: true,
+    });
     let sort;
     let pathObj = {};
     if (this.data.pathList.length) {
@@ -365,34 +374,34 @@
     } else {
       pathObj = {
         path,
-        queryType: '*',
+        queryType: "*",
       };
     }
-    if (this.data.sortList.value == 'name-asc') {
+    if (this.data.sortList.value == "name-asc") {
       sort = {
-        Name: 'Asc',
-        BaseType: ''
-      }
-    } else if (this.data.sortList.value == 'name-desc') {
+        Name: "Asc",
+        BaseType: "",
+      };
+    } else if (this.data.sortList.value == "name-desc") {
       sort = {
-        Name: 'Desc',
-        BaseType: ''
-      }
-    } else if (this.data.sortList.value == 'time-asc') {
+        Name: "Desc",
+        BaseType: "",
+      };
+    } else if (this.data.sortList.value == "time-asc") {
       sort = {
-        PublicationDate: 'Asc',
-        BaseType: 'DateTime'
-      }
-    } else if (this.data.sortList.value == 'time-desc') {
+        PublicationDate: "Asc",
+        BaseType: "DateTime",
+      };
+    } else if (this.data.sortList.value == "time-desc") {
       sort = {
-        PublicationDate: 'Desc',
-        BaseType: 'DateTime'
-      }
-    } else if (this.data.sortList.value == 'default') {
+        PublicationDate: "Desc",
+        BaseType: "DateTime",
+      };
+    } else if (this.data.sortList.value == "default") {
       sort = {
-        field: 'order',
-        type: 'Desc'
-      }
+        field: "order",
+        type: "Desc",
+      };
     }
     // if (this.data.sort) {
     //   sort = {
@@ -409,18 +418,20 @@
     let searchObj = {};
     if (this.data.searchValue) {
       searchObj = {
-        'Name*': this.data.searchValue,
-        '||author*': this.data.searchValue,
-        '||isbn*': this.data.searchValue,
-        '||seriesName*': this.data.searchValue,
+        "Name*": this.data.searchValue,
+        "||author*": this.data.searchValue,
+        "||isbn*": this.data.searchValue,
+        "||seriesName*": this.data.searchValue,
       };
     }
     const query = {
       ...pathObj,
-      filterList: [{
-        value: 'Normal',
-        field: 'state',
-      }, ],
+      filterList: [
+        {
+          value: "Normal",
+          field: "state",
+        },
+      ],
       sort,
       paging: {
         start: 0,
@@ -430,51 +441,53 @@
         author: [],
         publicationDate: [],
         ...searchObj,
-        'bookClassification*': this.data.majorProjectList.value,
-        'newFormsTextbooks*': this.data.newTextBook.value,
+        "bookClassification*": this.data.majorProjectList.value,
+        "newFormsTextbooks*": this.data.newTextBook.value,
       },
     };
     app.MG.store.getProductList(query).then((res) => {
       this.setData({
         bookList: res.datas,
+        isMore: null,
         enable: false,
         "pageCount.total": res.total,
         loading: false,
-        isRequesting: false
+        isRequesting: false,
       });
       if (!res.datas.length) {
         this.setData({
           noData: true,
-        })
+        });
       }
       if (this.data.triggered) {
         this.setData({
-          triggered: false
-        })
+          triggered: false,
+        });
         wx.showToast({
-          title: '鍒锋柊鎴愬姛',
-        })
+          title: "鍒锋柊鎴愬姛",
+        });
       }
     });
   },
   // 涓�绾у垎绫诲垏鎹�
   onChangeStair(e) {
-    const path = e.detail.value.length ?
-      `${this.data.assortCheck.code}\\${e.detail.value}` :
-      this.data.assortCheck.code;
+    const path = e.detail.value.length
+      ? `${this.data.assortCheck.code}\\${e.detail.value}`
+      : this.data.assortCheck.code;
     console.log(this.data.path);
 
     this.setData({
+      backTop: "#assort-title",
       pathList: [],
       stairCode: e.detail.value,
-      secondCode: '',
+      secondCode: "",
       path: path,
-      'stairList.value': e.detail.value,
+      "stairList.value": e.detail.value,
     });
 
-    if (e.detail.value == '') {
+    if (e.detail.value == "") {
       this.setData({
-        disabledSecondList: true
+        disabledSecondList: true,
       });
     } else {
       this.getSecondList(path);
@@ -489,38 +502,41 @@
       const element = e.detail.value[index];
       pathList.push({
         Path: element,
-        Type: '*',
+        Type: "*",
         StoreRefCode: app.config.goodsStore,
       });
     }
     this.setData({
+      backTop: "#assort-title",
       pathList: pathList,
-      'secondList.value': e.detail.value,
+      "secondList.value": e.detail.value,
     });
   },
-  // 
+  //
   onConfirmSecond() {
     this.getBookList(this.data.path);
   },
   // 閲嶇偣椤圭洰鏀瑰彉
   changeMajorProject(e) {
     this.setData({
-      'majorProjectList.value': e.detail.value,
+      backTop: "#assort-title",
+      "majorProjectList.value": e.detail.value,
     });
     this.getBookList(this.data.path);
   },
   // 閲嶇偣椤圭洰閲嶇疆
   resetMajorProject() {
     this.setData({
-      'majorProjectList.value': [],
+      "majorProjectList.value": [],
     });
     this.getBookList(this.data.path);
   },
   // 鎺掑簭鍒囨崲
   onSortChange(e) {
     this.setData({
-      'sortList.value': e.detail.value
-    })
+      backTop: "#assort-title",
+      "sortList.value": e.detail.value,
+    });
 
     let path;
     if (this.data.secondCode) {
@@ -535,15 +551,17 @@
     });
     this.getBookList(path);
   },
+  // 鏂板舰鎬佹暀鏉愭敼鍙�
   changeNewText(e) {
     this.setData({
-      'newTextBook.value': e.detail.value,
+      backTop: "#assort-title",
+      "newTextBook.value": e.detail.value,
     });
     this.getBookList(this.data.path);
   },
   resetNewText() {
     this.setData({
-      'newTextBook.value': [],
+      "newTextBook.value": [],
     });
     this.getBookList(this.data.path);
   },
@@ -577,37 +595,35 @@
   // },
   // 鎼滅储鍥句功
   searchBook(e) {
-    console.log(e.detail.value);
     this.setData({
+      backTop: "#assort-title",
       searchValue: e.detail.value,
     });
     this.getBookList(this.data.path);
   },
   // 璺宠浆鍥句功璇︽儏
   goDetail(e) {
-    const {
-      book
-    } = e.currentTarget.dataset;
+    const { book } = e.currentTarget.dataset;
     wx.navigateTo({
       url: `/packageBookService/pages/bookServices/detail/index?id=${book.id}&name=${book.name}`,
     });
   },
   onRefresh() {
     this.setData({
-      enable: true
+      enable: true,
     });
-    this.getBookList(this.data.path)
+    this.getBookList(this.data.path);
   },
   openDropdown() {
-    console.log('灞曞紑鍝�', );
+    console.log("灞曞紑鍝�");
     this.setData({
-      showDropdown: true
-    })
+      showDropdown: true,
+    });
   },
   closeDropdown() {
-    console.log('鍏抽棴');
+    console.log("鍏抽棴");
     this.setData({
-      showDropdown: false
-    })
-  }
-});
\ No newline at end of file
+      showDropdown: false,
+    });
+  },
+});

--
Gitblit v1.9.1