From a2e665c3428d0efa9cb0f428f6103bdac553583f Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期二, 15 十月 2024 09:46:55 +0800
Subject: [PATCH] shuzhan

---
 pages/bookExhibitionList/index.js |  519 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 275 insertions(+), 244 deletions(-)

diff --git a/pages/bookExhibitionList/index.js b/pages/bookExhibitionList/index.js
index 1febd4e..395f5c1 100644
--- a/pages/bookExhibitionList/index.js
+++ b/pages/bookExhibitionList/index.js
@@ -1,393 +1,424 @@
 // pages/bookExhibitionList/index.js
-import Toast from 'tdesign-miniprogram/toast/index';
-
-const app = getApp()
+import Toast from "tdesign-miniprogram/toast/index";
+import watch from "./watch/watch";
+const app = getApp();
 Page({
-
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-    value: '',
-    keyword: '',
+    name: "娴嬭瘯watch",
+    newPrice: "",
+    loading: true,
+    hidden: true,
+    totalSize: "",
+    start: 0,
+    isMore: null,
+    keynoteDisabled: true,
+    value: "",
+    keyword: "",
     nameSort: null,
     total: null,
     page: {
       start: 0,
-      size: 16
+      size: 16,
     },
-    keynoteValue: null,
+    keynoteValue: [],
     filteredItems: [],
     newValue: null,
     bookExhibitionList: [],
     sorter: {
-      value: 'default',
+      value: "default",
     },
     product: {
-      value: '*',
-
-      options: [
-        {
-          value: '*',
-          label: '鎬诲垎绫�',
+      value: "*",
+      options: [{
+          value: "*",
+          label: "鎬诲垎绫�",
         },
         {
-          value: 'jsek_bFHigherEducation',
-          //閲嶇偣椤圭洰
-          price: 'jsek_higherEducation',
-          label: '楂樼瓑鏁欒偛',
+          value: "jsek_bFHigherEducation",
+          label: "楂樼瓑鏁欒偛",
         },
         {
-          value: 'jsek_bFVocationalEducation',
-          //閲嶇偣椤圭洰
-          price: 'jsek_vocationalEducation',
-          label: '鑱屼笟鏁欒偛',
+          value: "jsek_bFVocationalEducation",
+          label: "鑱屼笟鏁欒偛",
         },
         {
-          value: 'jsek_bFTeacherEducation',
-          //閲嶇偣椤圭洰
-          price: 'jsek_teacherEducation',
-          label: '鏁欏笀鏁欒偛',
+          value: "jsek_bFTeacherEducation",
+          label: "鏁欏笀鏁欒偛",
         },
-
       ],
-
     },
     multipleSelect: {
       value: [],
       options: [],
     },
-    navBarHeight: '',
-    barHeight: '',
-    windowHeight: '',
+    navBarHeight: "",
+    barHeight: "",
+    windowHeight: "",
+    sorter: {
+      value: "timeAsc",
+      options: [{
+          value: "nameAsc",
+          label: "鍚嶇О姝e簭",
+        },
+        {
+          value: "nameDesc",
+          label: "鍚嶇О鍊掑簭",
+        },
+        {
+          value: "timeAsc",
+          label: "鍑虹増鏃堕棿姝e簭",
+        },
+        {
+          value: "timeDesc",
+          label: "鍑虹増鏃堕棿鍊掑簭",
+        },
+      ],
+    },
+    newValue: "",
+    disbaleProject: true,
+    disabledSort: false
   },
 
-
-
   /**
-    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
-    */
+   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
+   */
   onLoad(options) {
-    // 鑾峰彇灞忓箷楂樺害
-    wx.getSystemInfo({
-      success: function (res) {
-        // this.setData({
-        //   windowHeight: res.windowHeight
-        // })
-
-        // 鑾峰彇鑺傜偣鐨勭被鍚�
-        var query = wx.createSelectorQuery();
-        query.select('.assembleContent').boundingClientRect();
-        query.exec(function (res) {
-
-          // console.log(res, 'res');
-          let node = res[0];
-          node.setStyle({
-            backgroundColor: '#0256b9',
-          })
-          // // 淇敼鑺傜偣鏍峰紡
-          // if (node) {
-          //   node.setStyle({
-          //     backgroundColor: 'red',
-          //     color: 'white'
-          //   });
-          // }
-        });
-      }
-    });
-
-    // console.log(this.data.filteredItems, 88888);
+    // this.setData({
+    //   'product.value': '*',
+    // });
     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({
       navBarHeight: navBarHeight,
       barHeight: systInfo.statusBarHeight,
-    })
-
-    // 鍗曞垪閫夋嫨鍣ㄩ�夐」
-    const singleSelectOptions = this.data.filteredItems.map(item => ({
-      label: item.name,
-      value: item.value,
-      disabled: false,
-    }))
-
-    if (this.data.filteredItems = []) {
-      console.log(11111);
-      singleSelectOptions.push({
-        label: '绂佺敤閫夐」',
-        value: 'disabled',
-        disabled: true,
-      });
-    }
-
-    // singleSelectOptions.push({
-    //   label: '绂佺敤閫夐」',
-    //   value: 'disabled',
-    //   disabled: true,
-    // });
-
-
-    // 鏇存柊鏁版嵁
-    this.setData({
-      'multipleSelect.options': singleSelectOptions,
     });
-
   },
-
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
    */
-  onReady() {
-
-  },
+  onReady() {},
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
   onShow() {
-    this.bookExhibitionGet()
-
-    this.keyProjectsGet()
+    this.bookExhibitionGet();
+    this.keyProjectsGet(this.data.newPrice);
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
    */
-  onHide() {
-
-  },
+  onHide() {},
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
    */
-  onUnload() {
-
-  },
+  onUnload() {},
 
   /**
    * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
    */
-  onPullDownRefresh() {
-
-  },
-  onPullDownRefresh() {
-    this.data.page.size = 16 //鏇存敼鏄剧ず鐨勫��
-    this.bookExhibitionGet(); // 璋冪敤鏂规硶鍔犺浇鏇村鏁版嵁
+  onPullDownRefresh() {},
+  onScrollToLower() {
+    if (this.data.bookExhibitionList.length < this.data.totalSize) {
+      this.setData({
+        isMore: true,
+        start: this.data.start + 1,
+      });
+      this.bookExhibitionGet();
+    } else {
+      this.setData({
+        isMore: true,
+      });
+      setTimeout(() => {
+        this.setData({
+          isMore: false,
+        });
+      }, 300);
+    }
   },
   /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   onReachBottom() {
-    // console.log(this.data.page.size);
-    // console.log(this.data.total);
     if (this.data.page.size >= this.data.total) {
-      console.log('宸插姞杞藉畬鎵�鏈夋暟鎹�');
       Toast({
         context: this,
-        selector: '#t-toast',
-        message: '娌℃湁鏇村浜�',
-        direction: 'column',
+        selector: "#t-toast",
+        message: "娌℃湁鏇村浜�",
+        direction: "column",
         duration: 1000,
         preventScrollThrough: true,
-        icon: 'poweroff',
+        icon: "poweroff",
       });
     } else {
       // const currentPage = this.data.page.start + 1; // 鑾峰彇褰撳墠椤垫暟骞跺姞1
       const newSize = this.data.page.size + 10; // 鍘熸潵鐨勫熀纭�涓婂姞10
       this.setData({
         // 'page.start': currentPage,
-        'page.size': newSize
+        "page.size": newSize,
       });
-      this.bookExhibitionGet(); // 璋冪敤鏂规硶鍔犺浇鏇村鏁版嵁
-
-
-
+      // this.bookExhibitionGet(); // 璋冪敤鏂规硶鍔犺浇鏇村鏁版嵁
     }
   },
-
-
 
   /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
-  onShareAppMessage() {
+  onShareAppMessage() {},
+  onShareTimeline() {},
 
-  },
   // 鍥剧墖鏁版嵁鐨勬帴鍙�
   bookExhibitionGet(newValue) {
-    wx.showLoading({
-      title: '鍔犺浇涓�...',
+    this.setData({
+      disabledSort: false
     })
     let searchObj = {
-      'Name*': this.data.keyword,
-      '||subtitle*': this.data.keyword
-    }
-    // console.log(this.data.keynoteValue);
-    let sort = {
-      Name: this.data.nameSort || 'Desc'
-    }
-    app.MG.store.getProductList({
-      storeInfo: 'jsek_bookFair',
-      path: newValue,
-      queryType: '*',
-      fields: {
-        jsek_link: [],
-        subtitle: [],
-        'bookClassification*': this.data.keynoteValue || [],
-        ...searchObj
+      "Name*": this.data.keyword,
+      "||subtitle*": this.data.keyword,
+    };
+
+    let sort = {};
+    const sortOptions = {
+      "*": {
+        CreateDate: "Asc",
       },
-      paging: this.data.page,
-      sort: sort,
-      // coverSize: {
-      //   width: 100
-      // },
-    }).then(res => {
-      res.datas.forEach((item) => {
-        item.subtitleName = item.subtitle + item.name
+      nameAsc: {
+        Name: "Asc",
+      },
+      nameDesc: {
+        Name: "Desc",
+      },
+      timeAsc: {
+        CreateDate: "Asc",
+      },
+      timeDesc: {
+        CreateDate: "Desc",
+      },
+    };
+    sort = sortOptions[this.data.product.value] || {};
+    app.MG.store
+      .getProductList({
+        storeInfo: "jsek_bookFair",
+        path: this.data.newValue,
+        queryType: "*",
+        fields: {
+          jsek_link: [],
+          subtitle: [],
+          "bookClassification*": this.data.keynoteValue || [],
+          ...searchObj,
+        },
+        paging: {
+          start: "0",
+          size: this.data.start * 10,
+        },
+        sort: sort,
+        // coverSize: {
+        //   width: 100
+        // },
       })
-      console.log(res, 'item');
-      this.data.total = res.total
-
-      //  list.push(res.datas)
-      const list = [...res.datas]
-
-      this.setData({
-        bookExhibitionList: list
-      })
-
-      //鍙栨秷
-      wx.hideLoading()
-      // console.log(this.data.bookExhibitionList, '鏁版嵁');
-    })
-
+      .then((res) => {
+        res.datas.forEach((item) => {
+          if (item.subtitle == undefined) {
+            item.subtitle = "";
+          }
+          item.subtitleName = item.subtitle + item.name;
+        });
+        this.data.total = res.total;
+        if (res.datas.length == 0) {
+          this.setData({
+            disabledSort: true
+          })
+          if (!this.data.keynoteValue.length) {
+            this.setData({
+              disbaleProject: true
+            });
+          }
+        }
+        const list = [...res.datas];
+        this.setData({
+          bookExhibitionList: list,
+          totalSize: res.total,
+        });
+        this.setData({
+          loading: false,
+          hidden: false,
+        });
+      });
   },
   //閲嶇偣椤圭洰鎺ュ彛
   keyProjectsGet(newPrice) {
-    // console.log(newPrice, 'newPrice');
+    this.setData({
+      filteredItems: [], // 濡傛灉瀛樺湪瀛愰」鍒欒祴鍊硷紝鍚﹀垯璧嬪�间负绌烘暟缁�
+    });
+    //楠ㄦ灦灞�
+    this.setData({
+      loading: true,
+      hidden: true,
+    });
+    // 鍙傛暟
     let parms = {
-      refCodes: ['bookClassification']
-    }
-    app.MG.store.getProductTypeField(parms).then(res => {
-
-      const checkData = JSON.parse(res[0].config)
-
-
-      checkData.option.forEach(item => {
+      refCodes: ["bookClassification"],
+    };
+    //璇锋眰鏁版嵁
+    app.MG.store.getProductTypeField(parms).then((res) => {
+      // 鏍煎紡鍖栨暟鎹�
+      const checkData = JSON.parse(res[0].config);
+      // 寰幆鐒跺悗鍒ゆ柇鐩稿尮閰嶇殑鏁版嵁璧嬪�肩粰filteredItems
+      checkData.option.forEach((item) => {
         if (newPrice == item.value) {
-
           this.setData({
-            filteredItems: item.child || [] // 濡傛灉瀛樺湪瀛愰」鍒欒祴鍊硷紝鍚﹀垯璧嬪�间负绌烘暟缁�
+            filteredItems: item.child || [], // 濡傛灉瀛樺湪瀛愰」鍒欒祴鍊硷紝鍚﹀垯璧嬪�间负绌烘暟缁�
           });
-
-          // console.log(this.data.filteredItems);
-
         }
-      })
-
-      this.onLoad();
-    })
+      });
+      let singleSelectOptions = [];
+      // 鍗曞垪閫夋嫨鍣ㄩ�夐」
+      // 鍗曞垪閫夋嫨鍣ㄩ�夐」
+      this.data.filteredItems.forEach((item) => {
+        singleSelectOptions.push({
+          label: item.name,
+          value: item.value,
+        });
+      });
+      if (singleSelectOptions.length === 0) {
+        singleSelectOptions.push({
+          label: "鏆傛棤鏁版嵁",
+        });
+        this.setData({
+          disbaleProject: true
+        })
+      }
+      // 鏇存柊鏁版嵁
+      this.setData({
+        "multipleSelect.options": singleSelectOptions,
+      });
+      // 鍙栨秷楠ㄦ灦灞�
+      this.setData({
+        loading: false,
+        hidden: false,
+      });
+    });
+    // if (newPrice) {
+    //   this.setData({
+    //     keynoteDisabled: false
+    //   })
+    // }
+    // if (!newPrice) {
+    //   this.setData({
+    //     keynoteDisabled: true
+    //   })
+    // }
   },
-
-
-
 
   // 鎬诲垎绫�
   // 鎬诲垎绫�
   onChange(e) {
-
-    this.data.page.size = 16 //鏇存敼鏄剧ず鐨勫��
     const newValue = e.detail.value;
-    const selectedOption = this.data.product.options.find(option => option.value === newValue);
-    const newPrice = selectedOption ? selectedOption.price : null;
     this.setData({
-      'product.value': newValue,
-      'product.price': newPrice, // 灏嗛�変腑鐨� price 鍊间繚瀛樺湪鏁版嵁涓�
+      "product.value": newValue,
+      newValue: newValue,
+      disbaleProject: false,
+      loading: true
     });
-    this.bookExhibitionGet(newValue);
+    let newPrice = "";
+    if (newValue == "jsek_bFHigherEducation") {
+      newPrice = "jsek_higherEducation";
+    } else if (newValue == "jsek_bFVocationalEducation") {
+      newPrice = "jsek_vocationalEducation";
+    } else if (newValue == "jsek_bFTeacherEducation") {
+      newPrice = "jsek_teacherEducation";
+    } else {
+      // 閫夋嫨鎬诲垎绫�
+      this.setData({
+        disbaleProject: true
+      })
+      newPrice = "";
+    }
     this.keyProjectsGet(newPrice);
-    // 璋冪敤鏇存柊椤甸潰鏁版嵁鐨勫嚱鏁帮紝浼犲叆鏂扮殑 value 鍜� price 鍊�
-
+    this.bookExhibitionGet(newValue);
     if (this.data.keynoteValue) {
       //濡傛灉鏈夋暟鎹氨娓呯┖骞跺埛鏂伴〉闈�
-      this.data.keynoteValue = []
-
-      this.bookExhibitionGet(newValue)
-      this.onLoad()
-      console.log('true');
-    } else {
-      // this.bookExhibitionGet(newValue);
-      // this.keyProjectsGet(newPrice);
-      console.log('fals');
+      this.data.keynoteValue = [];
+      this.bookExhibitionGet(newValue);
     }
-
   },
 
   // 閲嶇偣椤圭洰
   handleMultipleSelect(e) {
     this.setData({
-      'multipleSelect.value': e.detail.value,
+      "multipleSelect.value": e.detail.value,
     });
   },
   handleConfirm(event) {
-    const { value } = event.detail;
+    const {
+      value
+    } = event.detail;
     // 纭鎿嶄綔鐨勫鐞嗛�昏緫
-
-    console.log('纭鎿嶄綔锛岄�変腑鐨勫�间负锛�', value);
-    this.data.keynoteValue = value
-    this.bookExhibitionGet()
+    // this.data.keynoteValue = value
+    this.setData({
+      keynoteValue: value,
+      loading: true
+    });
+    this.bookExhibitionGet();
   },
-  handleReset() {
+
+  handleReset(e) {
     // 閲嶇疆鎿嶄綔鐨勫鐞嗛�昏緫
-    this.data.keynoteValue = []
-    console.log('閲嶇疆鎿嶄綔');
-    this.bookExhibitionGet()
+    this.data.keynoteValue = [];
+    this.bookExhibitionGet();
   },
   onSwapRight() {
-    // console.log('xxxxxx');
-    // this.data.nameSort = 'Asc'
-
-
     if (!this.data.nameSort) {
       this.setData({
-        nameSort: 'Desc',
+        nameSort: "Desc",
       });
-    } else if (this.data.nameSort == 'Desc') {
+    } else if (this.data.nameSort == "Desc") {
       this.setData({
-        nameSort: 'Asc',
+        nameSort: "Asc",
       });
-    } else if (this.data.nameSort == 'Asc') {
+    } else if (this.data.nameSort == "Asc") {
       this.setData({
-        nameSort: '',
+        nameSort: "",
       });
     }
 
-    this.bookExhibitionGet()
-
+    this.bookExhibitionGet();
   },
   onSwapLeft() {
-    this.data.nameSort = 'Desc'
-    // console.log('sssssss');
-    this.bookExhibitionGet()
-
-
+    this.data.nameSort = "Desc";
+    this.bookExhibitionGet();
   },
   onBookExhibitionDetails: function (event) {
     const item = event.currentTarget.dataset.item;
-    console.log(item);
     wx.navigateTo({
-      url: '/pages/bookExhibitionDetails/index?id=' + item.id + '&bookName=' + item.name + '&subtitleName=' + item.subtitleName // 鍋囪璺宠浆鍒拌鎯呴〉闈紝骞朵紶閫掍簡id鍙傛暟
+      url: "/pages/bookExhibitionDetails/index?id=" + item.id, // 鍋囪璺宠浆鍒拌鎯呴〉闈紝骞朵紶閫掍簡id鍙傛暟
     });
   },
+
   // 鎼滅储妗�
   onSearchSubmit(e) {
     this.setData({
-      keyword: e.detail.value
-    })
-    console.log(this.data.keyword, 'keyword');
-    this.bookExhibitionGet()
+      keyword: e.detail.value,
+    });
+
+    this.bookExhibitionGet();
   },
   goBack() {
     wx.navigateBack();
   },
-})
\ No newline at end of file
+  onSort(e) {
+    this.setData({
+      "product.value": e.detail.value,
+    });
+
+    this.bookExhibitionGet();
+  },
+  onOpend() {},
+});
\ No newline at end of file

--
Gitblit v1.9.1