From 6d8464c9524c1c8550450615bc9c47fb298d424d Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期三, 03 四月 2024 09:51:03 +0800
Subject: [PATCH] 图书详情页、答题器bug修改

---
 packageBookService/pages/bookServices/detail/buyResource/index.js |  434 +++++++++++++++++++++++++++--------------------------
 1 files changed, 220 insertions(+), 214 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/buyResource/index.js b/packageBookService/pages/bookServices/detail/buyResource/index.js
index 07134d2..7395880 100644
--- a/packageBookService/pages/bookServices/detail/buyResource/index.js
+++ b/packageBookService/pages/bookServices/detail/buyResource/index.js
@@ -1,111 +1,102 @@
 // packageBookService/pages/bookServices/detail/buyResource/index.js
-const app = getApp()
+const app = getApp();
 Page({
-
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-    barHeight: '',
-    navBarHeight: '',
+    barHeight: "",
+    navBarHeight: "",
     learn: [],
     openLearnids: [],
-    bookId: '',
+    bookId: "",
     loading: false,
     shoppingList: [],
     shoppingCartGetId: [],
     methodId: [],
     paymentPage: false,
-    superior: false
+    superior: false,
+    checkAllState: false,
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
   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,
-      bookId: options.bookId
+      bookId: options.bookId,
     });
-    this.getResourceClass()
+    this.getResourceClass();
     console.log(options);
     this.getResourceData({
       productLinkPath: options.productLinkPath,
-      refCode: options.refCode
-    })
-    this.getShoppingCartProductGet()
-    this.getBookInfo(options.bookId)
+      refCode: options.refCode,
+    });
+    this.getShoppingCartProductGet();
+    this.getBookInfo(options.bookId);
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
    */
-  onReady() {
-
-  },
+  onReady() {},
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
-  onShow() {
-
-  },
+  onShow() {},
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
    */
-  onHide() {
-
-  },
+  onHide() {},
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
    */
-  onUnload() {
-
-  },
+  onUnload() {},
 
   /**
    * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
    */
-  onPullDownRefresh() {
-
-  },
+  onPullDownRefresh() {},
 
   /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
-  onReachBottom() {
-
-  },
+  onReachBottom() {},
 
   /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
-  onShareAppMessage() {
-
+  onShareAppMessage() {},
+  changeCheckAll(e) {
+    this.setData({
+      checkAllState: e.detail.value,
+    });
   },
   goBack() {
-    wx.navigateBack()
+    wx.navigateBack();
   },
   //  鑾峰彇鏁欏璧勬簮  浜戝涔�  浜戞祴璇�
   getResourceData(type) {
     this.setData({
       loading: true,
-      noResources: false
-    })
+      noResources: false,
+    });
     let query = {
-      path: '*',
-      queryType: '*',
+      path: "*",
+      queryType: "*",
       productId: this.data.bookId,
       cmsPath: type.productLinkPath,
       itemFields: {
-        SysType: 'CmsFolder',
+        SysType: "CmsFolder",
         // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
         selectType: [],
         freeFile: [],
@@ -114,88 +105,90 @@
         isDownload: [],
         jsek_resourceBrief: [],
         jsek_link: [],
-        jsek_questionBank: []
+        jsek_questionBank: [],
       },
       pading: {
         start: 0,
-        size: 999
+        size: 999,
       },
-    }
+    };
     app.MG.store
       .getProductDetail(query)
       .then(async (res) => {
         if (!res.datas.cmsDatas[0].datas.length) {
           return this.setData({
             noResources: true,
-            loading: false
-          })
+            loading: false,
+          });
         }
         //鏁欏璧勬簮 浜戝涔�
-        if (type.refCode == 'jsek_teachingResources' || type.refCode == 'jsek_cloudLearning') {
+        if (
+          type.refCode == "jsek_teachingResources" ||
+          type.refCode == "jsek_cloudLearning"
+        ) {
           if (res.datas.cmsDatas[0].datas.length > 0) {
-            res.datas.cmsDatas[0].datas.forEach(item => {
-              item.checked = false,
-                item.checkAll = true
-            })
-            const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
-            if (type.refCode == 'jsek_teachingResources') {
+            res.datas.cmsDatas[0].datas.forEach((item) => {
+              (item.checked = false), (item.checkAll = true);
+            });
+            const list = await this.getAllResource(res.datas.cmsDatas[0].datas);
+            if (type.refCode == "jsek_teachingResources") {
               this.setData({
                 teach: list,
-                loading: false
-              })
-              this.findChildIds(this.data.teach, this.data.openTeachids = [])
-            } else if (type.refCode == 'jsek_cloudLearning') {
-              const result = []
-              res.datas.cmsDatas[0].datas.forEach(item => {
-                item.checked = false
-              })
-              this.findChildIds(list, result)
+                loading: false,
+              });
+              this.findChildIds(this.data.teach, (this.data.openTeachids = []));
+            } else if (type.refCode == "jsek_cloudLearning") {
+              const result = [];
+              res.datas.cmsDatas[0].datas.forEach((item) => {
+                item.checked = false;
+              });
+              this.findChildIds(list, result);
               this.setData({
                 learn: list,
                 loading: false,
-                openLearnids: result
-              })
-              console.log('鏁欏璧勬簮', list);
+                openLearnids: result,
+              });
+              console.log("鏁欏璧勬簮", list);
             }
           } else {
             // 鏃犳暟鎹�
           }
-        } else if (type.refCode == 'jsek_questionBank') {
+        } else if (type.refCode == "jsek_questionBank") {
           // const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
           this.setData({
             test: res.datas.cmsDatas[0].datas,
-            loading: false
-          })
+            loading: false,
+          });
         } else {
-          console.log('鍏朵粬');
+          console.log("鍏朵粬");
         }
       })
       .catch((e) => {
-        console.log(e)
-      })
+        console.log(e);
+      });
   },
   // 鑾峰彇tag涓嬫墍鏈夎祫婧�
   async getAllResource(data) {
-    if (!data.length) return false
+    if (!data.length) return false;
     for (let i = 0; i < data.length; i++) {
-      let item = data[i]
-      if (item.sysType == 'CmsFolder' && item.childrenCount > 0) {
-        item.children = []
-        item.children = await this.getFolderItem(item.productLinkPath)
-        await this.getAllResource(item.children)
+      let item = data[i];
+      if (item.sysType == "CmsFolder" && item.childrenCount > 0) {
+        item.children = [];
+        item.children = await this.getFolderItem(item.productLinkPath);
+        await this.getAllResource(item.children);
       }
     }
-    return data
+    return data;
   },
   // 鑾峰彇璧勬簮鎺ュ彛
   async getFolderItem(path) {
     let query = {
-      path: '*',
-      queryType: '*',
+      path: "*",
+      queryType: "*",
       productId: this.data.bookId,
       cmsPath: path,
       itemFields: {
-        SysType: 'CmsFolder',
+        SysType: "CmsFolder",
         // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
         selectType: [],
         freeFile: [],
@@ -205,52 +198,54 @@
         isDownload: [],
         jsek_resourceBrief: [],
         jsek_link: [],
-        accessType: []
+        accessType: [],
       },
       pading: {
         start: 0,
-        size: 999
+        size: 999,
       },
-    }
-    const data = await app.MG.store.getProductDetail(query)
+    };
+    const data = await app.MG.store.getProductDetail(query);
     data.datas.cmsDatas[0].datas.forEach((item) => {
       this.data.resourceClassList.forEach((type) => {
-        if (type.value == item.resourcesClassification) item.resourceClass = type.name
-      })
+        if (type.value == item.resourcesClassification)
+          item.resourceClass = type.name;
+      });
       // 缃戦〉 涓嶈兘涓嬭浇 绉佹湁鏂囦欢
-      if (item.sysType == 'CmsItem') {
-        if (item.selectType == 'webpage') {
-          item.disabled = true
+      if (item.sysType == "CmsItem") {
+        if (item.selectType == "webpage") {
+          item.disabled = true;
         } else {
           if (item.isDownload != 1) {
-            item.disabled = true
+            item.disabled = true;
           }
         }
         if (item.file) {
-          if (item.fileMap[item.file].protectType == 'Private') item.disabled = true
+          if (item.fileMap[item.file].protectType == "Private")
+            item.disabled = true;
         }
       }
-    })
-    data.datas.cmsDatas[0].datas.forEach(item => {
-      item.checked = false
-      item.isbuy = this.resourceIsBuy(item)
-      item.isShopCar = this.isShoppingCart(item)
-    })
-    return data.datas.cmsDatas[0].datas
+    });
+    data.datas.cmsDatas[0].datas.forEach((item) => {
+      item.checked = false;
+      item.isbuy = this.resourceIsBuy(item);
+      item.isShopCar = this.isShoppingCart(item);
+    });
+    return data.datas.cmsDatas[0].datas;
   },
   getBookInfo(id) {
     this.setData({
       "mockData'.id": 0,
       "mockData.price": 0,
-      "mockData.count": 0
-    })
+      "mockData.count": 0,
+    });
     const query = {
-      path: '*',
-      queryType: '*',
+      path: "*",
+      queryType: "*",
       productId: id,
-      favoriteTypes: 'FavoriteBookCity',
+      favoriteTypes: "FavoriteBookCity",
       itemFields: {
-        'SysType=': 'CmsFolder',
+        "SysType=": "CmsFolder",
       },
       coverSize: {
         height: 300,
@@ -279,10 +274,9 @@
     app.MG.store.getProductDetail(query).then(async (res) => {
       this.setData({
         bookDetail: res.datas,
-        buyIdList: res.datas.purchasedSaleMethodIdList
+        buyIdList: res.datas.purchasedSaleMethodIdList,
       });
     });
-
   },
   // 鑾峰彇宸茶喘涔板晢鍝�
   getShoppingCartProductGet() {
@@ -290,181 +284,193 @@
       start: 0,
       size: 999,
       filterList: [],
-      searchList: []
-    }
+      searchList: [],
+    };
     app.MG.store.getShoppingCartProductList(query).then((res) => {
-      const list = []
+      const list = [];
       res.datas.forEach((item) => {
-        list.push(item.saleMethod.id)
-      })
+        list.push(item.saleMethod.id);
+      });
       this.setData({
         shoppingList: res.datas,
-        shoppingCartGetId: list
-      })
-    })
+        shoppingCartGetId: list,
+      });
+    });
   },
   // 鍒ゆ柇璧勬簮鏄惁璐拱
   resourceIsBuy(data) {
     if (data.saleMethod && data.saleMethod.length) {
-      const isSHow = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id)
-      return !isSHow
+      const isSHow = this.data.buyIdList.some(
+        (item) => item == data.saleMethod[0].Id
+      );
+      return !isSHow;
     } else {
-      return false
+      return false;
     }
   },
   // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀�
   isShoppingCart(data) {
     if (data.saleMethod && data.saleMethod.length) {
-      if (data.saleMethod[0].Price <= 0) return false
+      if (data.saleMethod[0].Price <= 0) return false;
       // 鍐嶅垽鏂槸鍚﹁喘涔�
-      const isBuy = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id)
+      const isBuy = this.data.buyIdList.some(
+        (item) => item == data.saleMethod[0].Id
+      );
       if (isBuy) {
         // 璐拱浜�
-        return false
+        return false;
       } else {
         // 鍒ゆ柇鏄惁鍔犲叆璐墿杞�
-        const isSHow = this.data.shoppingCartGetId.some((item) => item == data.saleMethod[0].Id)
-        return !isSHow
+        const isSHow = this.data.shoppingCartGetId.some(
+          (item) => item == data.saleMethod[0].Id
+        );
+        return !isSHow;
       }
     } else {
-      return false
+      return false;
     }
   },
   // 鑾峰彇灞曞紑椤�
   findChildIds(data, result) {
-    let index = 0
+    let index = 0;
     for (let i = 0; i < data.length; i++) {
       if (index < 3) {
-        const item = data[i]
+        const item = data[i];
         if (item.children && item.children.length > 0) {
-          result.push(item.id)
+          result.push(item.id);
           for (let j = 0; j < item.children.length; j++) {
             if (index < 3) {
-              const childrenItme = item.children[j]
+              const childrenItme = item.children[j];
               if (item.children && item.children.length > 0) {
-                result.push(childrenItme.id)
-                index += 1
+                result.push(childrenItme.id);
+                index += 1;
               }
             } else {
-              break
+              break;
             }
           }
         } else if (item.children && item.children.length > 0) {
-          result.push(item.id)
-          index += 1
+          result.push(item.id);
+          index += 1;
         }
       } else {
-        break
+        break;
       }
     }
   },
   // 鑾峰彇璧勬簮鎵�灞炲垎绫�
   getResourceClass() {
     let query = {
-      refCodes: ['resourcesClassification']
-    }
+      refCodes: ["resourcesClassification"],
+    };
     app.MG.store.getProductTypeField(query).then((res) => {
       this.setData({
-        resourceClassList: JSON.parse(res[0].config).option
-      })
-    })
+        resourceClassList: JSON.parse(res[0].config).option,
+      });
+    });
   },
   checkAll() {
-    const child = this.selectComponent('#tree')
-    child.checkAll()
-
+    const child = this.selectComponent("#tree");
+    child.checkAll();
   },
   //璐拱鎸夐挳
   batchPurchase() {
+    let saleMethodIds = [];
+    let requests = [];
+    let item = [];
+    let selectAllId = [];
+    const child = this.selectComponent("#tree");
 
-
-
-    let saleMethodIds = []
-    let requests = []
-    let item = []
-    let selectAllId = []
-    const child = this.selectComponent('#tree')
-
-    console.log(child.data.superiorPurchaseSaleMethodId, 'superiorPurchaseSaleMethodId');
-    console.log(child.data.sonPurchaseSaleMethodId, 'child.data');
+    console.log(
+      child.data.superiorPurchaseSaleMethodId,
+      "superiorPurchaseSaleMethodId"
+    );
+    console.log(child.data.sonPurchaseSaleMethodId, "child.data");
     // console.log(child.data.selectAll, 'selectAll');
-    item = child.data.superiorPurchaseSaleMethodId
-    const sonItem = child.data.sonPurchaseSaleMethodId
-    let selectAll = child.data.selectAll
+    item = child.data.superiorPurchaseSaleMethodId;
+    const sonItem = child.data.sonPurchaseSaleMethodId;
+    let selectAll = child.data.selectAll;
     if (selectAll) {
       // console.log(selectAll);
-      selectAll.forEach(item => {
+      selectAll.forEach((item) => {
         if (item.saleMethod != 0) {
           // console.log(item, 'item');
-          selectAllId.push(item.saleMethod[0].Id)
+          selectAllId.push(item.saleMethod[0].Id);
         }
-      })
+      });
       console.log(selectAllId);
-      app.MG.store.initOrder({
-        requests: selectAllId.map(id => ({
-          saleMethodId: id,
-          count: 1,
-        })),
-      }).then(res => {
-        if (res) {
-          wx.navigateTo({
-            url: '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber,
-          })
-          selectAllId = []
-          child.setData({
-            selectAll: []
-          })
-
-        }
-      })
+      app.MG.store
+        .initOrder({
+          requests: selectAllId.map((id) => ({
+            saleMethodId: id,
+            count: 1,
+          })),
+        })
+        .then((res) => {
+          if (res) {
+            wx.navigateTo({
+              url:
+                "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber,
+            });
+            selectAllId = [];
+            child.setData({
+              selectAll: [],
+            });
+          }
+        });
     }
     if (item) {
-      console.log(item, 'sadsdasd');
+      console.log(item, "sadsdasd");
       // 鎷垮埌id
-      item.forEach(items => {
+      item.forEach((items) => {
         if (items.saleMethod != 0) {
-          saleMethodIds.push(items.saleMethod[0].Id)
+          saleMethodIds.push(items.saleMethod[0].Id);
         }
-      })
-      console.log(saleMethodIds, 'saleMethodIds');
+      });
+      console.log(saleMethodIds, "saleMethodIds");
 
-      app.MG.store.initOrder({
-        requests: saleMethodIds.map(id => ({
-          saleMethodId: id,
-          count: 1,
-        })),
-      }).then(res => {
-        if (res) {
-          wx.navigateTo({
-            url: '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber,
-          })
+      app.MG.store
+        .initOrder({
+          requests: saleMethodIds.map((id) => ({
+            saleMethodId: id,
+            count: 1,
+          })),
+        })
+        .then((res) => {
+          if (res) {
+            wx.navigateTo({
+              url:
+                "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber,
+            });
 
-          child.setData({
-            superiorPurchaseSaleMethodId: [] // 浣跨敤setData鏂规硶娓呯┖sonPurchaseSaleMethodId鏁版嵁
-          })
-        }
-      })
+            child.setData({
+              superiorPurchaseSaleMethodId: [], // 浣跨敤setData鏂规硶娓呯┖sonPurchaseSaleMethodId鏁版嵁
+            });
+          }
+        });
     }
     if (item.length == 0 && sonItem) {
-      app.MG.store.initOrder({
-        requests: sonItem.map(id => ({
-          saleMethodId: id,
-          count: 1,
-        })),
-      }).then(res => {
-        if (res) {
-          wx.navigateTo({
-            url: '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber,
-          })
-          this.setData({
-            paymentPage: true
-          })
-          child.setData({
-            sonPurchaseSaleMethodId: [] // 浣跨敤setData鏂规硶娓呯┖sonPurchaseSaleMethodId鏁版嵁
-          })
-        }
-      })
+      app.MG.store
+        .initOrder({
+          requests: sonItem.map((id) => ({
+            saleMethodId: id,
+            count: 1,
+          })),
+        })
+        .then((res) => {
+          if (res) {
+            wx.navigateTo({
+              url:
+                "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber,
+            });
+            this.setData({
+              paymentPage: true,
+            });
+            child.setData({
+              sonPurchaseSaleMethodId: [], // 浣跨敤setData鏂规硶娓呯┖sonPurchaseSaleMethodId鏁版嵁
+            });
+          }
+        });
     }
   },
-
-})
\ No newline at end of file
+});

--
Gitblit v1.9.1