From c99f9976a5ef9d8974105feb8fc0580a10adf98c Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期一, 23 十二月 2024 14:58:49 +0800
Subject: [PATCH] 111

---
 packageBookService/pages/bookServices/list/index.js |  386 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 212 insertions(+), 174 deletions(-)

diff --git a/packageBookService/pages/bookServices/list/index.js b/packageBookService/pages/bookServices/list/index.js
index 944f48b..1c76ef9 100644
--- a/packageBookService/pages/bookServices/list/index.js
+++ b/packageBookService/pages/bookServices/list/index.js
@@ -1,16 +1,13 @@
 const app = getApp();
-import {
-  loginInfo
-} from '../../../../assets/js/login';
 Page({
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-    barHeight: '',
-    navBarHeight: '',
-    searchValue: '',
-    path: '',
+    barHeight: "",
+    navBarHeight: "",
+    searchValue: "",
+    path: "",
     pathList: [],
     pageCount: {
       page: 1,
@@ -18,16 +15,13 @@
     },
     isMore: null,
     assortCheck: {
-      name: '',
-      code: '',
+      name: "",
+      code: "",
     },
     bookList: [],
     stairList: {
-      value: '',
-      options: [{
-        value: '',
-        label: '涓�绾�',
-      }, ],
+      value: "",
+      options: [],
     },
     secondList: {
       value: [],
@@ -39,38 +33,39 @@
       options: [],
     },
     sortList: {
-      value: 'default',
+      value: "default",
       options: [{
-          value: 'default',
-          label: '榛樿鎺掑簭',
-        }, {
-          value: 'name-asc',
-          label: '鍚嶇О姝e簭'
+          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 +76,8 @@
     disabledProject: false,
     disabledNewForms: false,
     triggered: false,
+    backTop: "",
+    isshowLoading: true
   },
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
@@ -88,7 +85,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 +112,7 @@
     // 涓�绾у垎绫诲拰path璧嬪��
     if (options.stairCode) {
       this.setData({
-        'stairList.value': options.stairCode,
+        "stairList.value": options.stairCode,
         stairCode: options.stairCode,
         path: `${options.assortCode}\\${options.stairCode}`,
       });
@@ -125,17 +123,17 @@
         secondCode: options.secondCode,
         pathList: [{
           Path: options.secondCode,
-          Type: '*',
+          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 +161,12 @@
    */
   onPullDownRefresh() {
     this.setData({
-      triggered: true
-    })
+      triggered: true,
+    });
     this.setData({
-      'pageCount.page': 1
-    })
+      isshowLoading: false,
+      "pageCount.page": 1,
+    });
     this.getBookList(this.data.path);
   },
 
@@ -175,25 +174,25 @@
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   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,
+          isshowLoading: false
+        });
+        this.getBookList(this.data.path);
       }
     } else {
       this.setData({
         isMore: true,
-      })
+      });
       setTimeout(() => {
         this.setData({
-          isMore: false
-        })
-      }, 100)
-      console.log('娌℃湁鏇村浜�');
+          isMore: false,
+        });
+      }, 100);
     }
   },
 
@@ -201,31 +200,32 @@
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
   onShareAppMessage() {},
+  onShareTimeline() {},
   goBack() {
     wx.navigateBack();
   },
   // 鑾峰彇涓�绾у垪琛�
   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: '涓�绾�',
+        value: "",
+        label: "涓�绾у垎绫�",
       }, ];
       for (let index = 0; index < res.datas.length; index++) {
         const item = res.datas[index];
@@ -235,33 +235,33 @@
         });
       }
       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,
+        });
       }
     });
   },
   // 鑾峰彇涓�绾у垎绫讳笅浜岀骇鍒嗙被
-  getSecondList(path) {
+  async getSecondList(path) {
     const options = [];
     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) => {
+    await app.MG.store.getStoreChannelList(query).then((res) => {
       for (let index = 0; index < res.datas.length; index++) {
         const item = res.datas[index];
         options.push({
@@ -270,20 +270,21 @@
         });
       }
       this.setData({
-        'secondList.options': options,
+        "secondList.options": options,
       });
-      const second = [this.data.secondCode]
+      const second = [this.data.secondCode];
+      console.log(second);
       this.setData({
-        'secondList.value': second
-      })
+        "secondList.value": second,
+      });
     });
   },
   // 鑾峰彇閲嶇偣椤圭洰
   getProjectList(type) {
     this.setData({
       disabledProject: false,
-      disabledNewForms: false
-    })
+      disabledNewForms: false,
+    });
     const options = [];
     const arr = [];
     let array = [];
@@ -291,7 +292,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) {
@@ -301,7 +304,7 @@
           }
         }
       }
-      if (type == 'bookClassification') {
+      if (type == "bookClassification") {
         for (let index = 0; index < arr.length; index++) {
           const element = arr[index];
           options.push({
@@ -311,13 +314,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({
@@ -327,13 +330,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);
       }
     });
   },
@@ -343,10 +346,15 @@
       return false;
     }
     this.setData({
-      loading: true,
       noData: false,
-      isRequesting: true
-    })
+      isRequesting: true,
+      disabledSecondList: false
+    });
+    if (this.data.isshowLoading) {
+      this.setData({
+        loading: true
+      })
+    }
     let sort;
     let pathObj = {};
     if (this.data.pathList.length) {
@@ -356,35 +364,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') {
-      debugger
+        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 = {
@@ -401,19 +408,23 @@
     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,
+        "||projectLeader*": this.data.searchValue
       };
     }
     const query = {
       ...pathObj,
       filterList: [{
-        value: 'Normal',
-        field: 'state',
+        value: "Normal",
+        field: "state",
       }, ],
       sort,
+      coverSize: {
+        width: 180
+      },
       paging: {
         start: 0,
         size: this.data.pageCount.page * 8,
@@ -422,108 +433,135 @@
         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,
+        isshowLoading: true
       });
       if (!res.datas.length) {
         this.setData({
           noData: true,
+        });
+      }
+      // 浜岀骇绂佺敤閫昏緫
+      // 1.涓�绾у垎绫绘湭閫変腑锛屼簩绾у垎绫荤鐢�
+      if (!this.data.stairList.value) {
+        this.setData({
+          disabledSecondList: true
         })
-        if (!this.data.pathList.length) {
-          // 鏈�夋嫨浜岀骇鍒嗙被锛屼笖鏃犲浘涔�
-          this.setData({
-            disabledSecondList: true
-          })
-        } else {
-          this.setData({
-            disabledSecondList: false
-          })
-        }
+      } else if (this.data.stairList.value && !this.data.secondList.options.length) {
+        // 2. 涓�绾у垎绫婚�変腑锛屾棤浜岀骇鍒嗙被
+        this.setData({
+          disabledSecondList: true
+        })
       }
       if (this.data.triggered) {
         this.setData({
-          triggered: false
-        })
+          triggered: false,
+        });
         wx.showToast({
-          title: '鍒锋柊鎴愬姛',
-        })
+          title: "鍒锋柊鎴愬姛",
+        });
       }
     });
   },
   // 涓�绾у垎绫诲垏鎹�
-  onChangeStair(e) {
+  async onChangeStair(e) {
     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,
+      // disabledSecondList: false
     });
-    this.getBookList(path);
-    this.getSecondList(path);
-    if (e.detail.value == '') {
-      this.setData({
-        disabledSecondList: true
-      })
-    } else {
-      this.setData({
-        disabledSecondList: false
-      })
-    }
-    console.log(this.data.disabledSecondList);
+    // if (e.detail.value == "") {
+    //   this.setData({
+    //     disabledSecondList: true,
+    //   });
+    // } else {
+    await this.getSecondList(path);
+    // }
+    await this.getBookList(path);
   },
-  // 浜岀骇鍒嗙被鍒囨崲
-  onChangeSecond(e) {
+  // // 浜岀骇鍒嗙被鍒囨崲
+  // onChangeSecond(e) {
+  //   const pathList = [];
+  //   for (let index = 0; index < e.detail.value.length; index++) {
+  //     const element = e.detail.value[index];
+  //     pathList.push({
+  //       Path: element,
+  //       Type: "*",
+  //       StoreRefCode: app.config.goodsStore,
+  //     });
+  //   }
+  //   this.setData({
+  //     backTop: "#assort-title",
+  //     pathList: pathList,
+  //     "secondList.value": e.detail.value,
+  //   });
+  // },
+  // 浜岀骇鍒嗙被閲嶇疆
+  resetSecond() {
+    this.setData({
+      backTop: "#assort-title",
+      pathList: [],
+      "secondList.value": [],
+    });
+    this.getBookList(this.data.path);
+  },
+  // 浜岀骇鍒嗙被纭畾
+  onConfirmSecond(e) {
     const pathList = [];
     for (let index = 0; index < e.detail.value.length; index++) {
       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) {
@@ -538,15 +576,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);
   },
@@ -580,8 +620,8 @@
   // },
   // 鎼滅储鍥句功
   searchBook(e) {
-    console.log(e.detail.value);
     this.setData({
+      backTop: "#assort-title",
       searchValue: e.detail.value,
     });
     this.getBookList(this.data.path);
@@ -597,20 +637,18 @@
   },
   onRefresh() {
     this.setData({
-      enable: true
+      enable: true,
     });
-    this.getBookList(this.data.path)
+    this.getBookList(this.data.path);
   },
   openDropdown() {
-    console.log('灞曞紑鍝�', );
     this.setData({
-      showDropdown: true
-    })
+      showDropdown: true,
+    });
   },
   closeDropdown() {
-    console.log('鍏抽棴');
     this.setData({
-      showDropdown: false
-    })
-  }
+      showDropdown: false,
+    });
+  },
 });
\ No newline at end of file

--
Gitblit v1.9.1