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/components/tree/index.js |  357 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 190 insertions(+), 167 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.js b/packageBookService/pages/bookServices/detail/components/tree/index.js
index 0ea1d2e..7aba5ed 100644
--- a/packageBookService/pages/bookServices/detail/components/tree/index.js
+++ b/packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -1,31 +1,29 @@
-const util = require('./components/util') // 寮曞叆灏佽杩囩殑鍔犺浇鎻愮ず
-import {
-  loginInfo
-} from '../../../../../../assets/js/login'
-const app = getApp()
+const util = require("./components/util"); // 寮曞叆灏佽杩囩殑鍔犺浇鎻愮ず
+import { loginInfo } from "../../../../../../assets/js/login";
+const app = getApp();
 Component({
   // checked: false,
 
   properties: {
     treeList: {
       type: Array,
-      value: []
+      value: [],
     },
     bookInfo: {
       type: Object,
-      value: {}
+      value: {},
     },
     buyIds: {
       type: Array,
-      value: []
+      value: [],
     },
     tab: {
       type: String,
-      value: ''
+      value: "",
     },
     applyState: {
       type: String,
-      value: ''
+      value: "",
     },
     openIds: {
       type: Array,
@@ -42,33 +40,34 @@
     superior: {
       type: Boolean,
       value: false,
-    }
+    },
   },
   data: {
-    sonPurchaseSaleMethodId: '',
+    sonPurchaseSaleMethodId: "",
     superiorPurchaseSaleMethodId: [],
     activeValues: [1, 2],
-    webpageSrc: '',
+    webpageSrc: "",
     cloudShoppingCart: [],
     selectAll: [],
     shoppingCart: true,
     stop: false,
   },
   ready() {
-    this.setData({
-
-    })
-    console.log('鍑嗗');
+    this.setData({});
+    console.log("鍑嗗");
   },
 
   onLoad() {
     this.setData({
-      sonPurchaseSaleMethodId: []
-    })
-    console.log(this.data.sonPurchaseSaleMethodId, 'sonPurchaseSaleMethodId789');
+      sonPurchaseSaleMethodId: [],
+    });
+    console.log(
+      this.data.sonPurchaseSaleMethodId,
+      "sonPurchaseSaleMethodId789"
+    );
   },
   observers: {
-    'openIds': function (newValue) {
+    openIds: function (newValue) {
       // var myEventDetail = {
       // }
       // var myEventOption = {
@@ -76,18 +75,17 @@
       //   composed: true
       // }
       // this.triggerEvent('handleTree', myEventDetail, myEventOption)
-    }
+    },
   },
 
   methods: {
     handleList(tree) {
       for (let index = 0; index < tree.length; index++) {
         const item = tree[index];
-        if (item.sysType == 'CmsItem' && !item.checked) {
-
+        if (item.sysType == "CmsItem" && !item.checked) {
         }
         if (item.children && item.children.length > 0) {
-          this.handleList(item.children)
+          this.handleList(item.children);
         }
       }
     },
@@ -100,38 +98,39 @@
     handleCheck(data) {
       for (let index = 0; index < data.length; index++) {
         const element = data[index];
-        element.checked = true
+        element.checked = true;
         if (element.childrenCount && element.type == "productFolder") {
-          handleCheck(element.children)
+          handleCheck(element.children);
         }
       }
     },
     downloadTeach(e) {
-      const value = e.currentTarget.dataset.value
+      const value = e.currentTarget.dataset.value;
       var myEventDetail = {
         value,
-      } // detail瀵硅薄锛屾彁渚涚粰浜嬩欢鐩戝惉鍑芥暟
+      }; // detail瀵硅薄锛屾彁渚涚粰浜嬩欢鐩戝惉鍑芥暟
       var myEventOption = {
         bubbles: true,
-        composed: true
-      } // 瑙﹀彂浜嬩欢鐨勯�夐」
-      this.triggerEvent('downloadTeach', myEventDetail, myEventOption)
-
+        composed: true,
+      }; // 瑙﹀彂浜嬩欢鐨勯�夐」
+      this.triggerEvent("downloadTeach", myEventDetail, myEventOption);
     },
     // 鍒ゆ柇璧勬簮鏄惁璐拱
     resourceIsBuy(data) {
       if (data.saleMethod && data.saleMethod.length) {
-        if (data.saleMethod[0].State == 'Disable') return false
-        const isSHow = this.properties.buyIds.some((item) => item == data.saleMethod[0].Id)
-        return !isSHow
+        if (data.saleMethod[0].State == "Disable") return false;
+        const isSHow = this.properties.buyIds.some(
+          (item) => item == data.saleMethod[0].Id
+        );
+        return !isSHow;
       } else {
-        return false
+        return false;
       }
     },
     // 璺宠浆闊宠棰戞挱鏀惧櫒
     goPlayer(e) {
       // 妫�鏌ョ櫥褰曠姸鎬�
-      const token = wx.getStorageSync(app.config.tokenKey)
+      const token = wx.getStorageSync(app.config.tokenKey);
       if (!token) {
         loginInfo(app, (data) => {
           // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
@@ -140,68 +139,72 @@
           } else {
             // 鍑虹幇閿欒锛岃繑鍥瀎alse
           }
-        })
+        });
       } else {
-        const item = e.currentTarget.dataset.item
-        const parent = e.currentTarget.dataset.parent
-        let url
+        const item = e.currentTarget.dataset.item;
+        const parent = e.currentTarget.dataset.parent;
+        let url;
         if (this.properties.isShowCheck && this.resourceIsBuy(item)) {
-          return wx.showToast({
-            icon: 'error',
-            title: "璇峰厛璐拱璧勬簮"
-          })
+          return false;
         }
-        if (item.selectType == 'video' || item.learnSelectType == 'video') {
-          url = '/packageDomain/pages/resourceDetails/myVideo/index'
-        } else if (item.selectType == 'audio' || item.learnSelectType == 'audio') {
-          url = '/packageDomain/pages/resourceDetails/myAudio/index'
-        } else if (item.selectType == 'picture' || item.selectType == 'zip') {
-          url = '/packageDomain/pages/resourceDetails/document/index'
+        if (item.selectType == "video" || item.learnSelectType == "video") {
+          url = "/packageDomain/pages/resourceDetails/myVideo/index";
+        } else if (
+          item.selectType == "audio" ||
+          item.learnSelectType == "audio"
+        ) {
+          url = "/packageDomain/pages/resourceDetails/myAudio/index";
+        } else if (item.selectType == "picture" || item.selectType == "zip") {
+          url = "/packageDomain/pages/resourceDetails/document/index";
         }
-        if (this.properties.tab == 'jsek_cloudLearning' && this.resourceIsBuy(item)) {
+        if (
+          this.properties.tab == "jsek_cloudLearning" &&
+          this.resourceIsBuy(item)
+        ) {
           return wx.showToast({
-            icon: 'error',
-            title: '璇峰厛璐拱璇ヨ祫婧�',
-          })
+            icon: "error",
+            title: "璇峰厛璐拱璇ヨ祫婧�",
+          });
         }
         wx.navigateTo({
           url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parent.productLinkPath}&parentName=${parent.name}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}`,
-        })
-        if (item.selectType == 'document' || item.selectType == 'pdf') {
-          const fileLink = app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.file
-          console.log(fileLink, 'fileLink');
+        });
+        if (item.selectType == "document" || item.selectType == "pdf") {
+          const fileLink =
+            app.config.requestCtx + "/file/api/ApiDownload?md5=" + item.file;
+          console.log(fileLink, "fileLink");
           //鎻愮ず鍔犺浇涓�
-          util.showLoading()
+          util.showLoading();
           // 鍗曟涓嬭浇鍏佽鐨勬渶澶ф枃浠朵负 200MB
           wx.downloadFile({
             url: fileLink, // 鍦板潃宸叉墦鐮侊紝鑷繁鎹釜鍏朵粬鐨勫湴鍧�锛�"https://www.xxxxx.com/file/娴嬭瘯閫氱煡.pdf"锛�
             success: function (res) {
-              console.log(res, "wx.downloadFile success res")
+              console.log(res, "wx.downloadFile success res");
               if (res.statusCode != 200) {
-                util.hideLoadingWithErrorTips()
-                return false
+                util.hideLoadingWithErrorTips();
+                return false;
               }
-              var Path = res.tempFilePath //杩斿洖鐨勬枃浠朵复鏃跺湴鍧�锛岀敤浜庡悗闈㈡墦寮�鏈湴棰勮鎵�鐢�
+              var Path = res.tempFilePath; //杩斿洖鐨勬枃浠朵复鏃跺湴鍧�锛岀敤浜庡悗闈㈡墦寮�鏈湴棰勮鎵�鐢�
               wx.openDocument({
                 filePath: Path,
                 showMenu: true,
                 success: function (res) {
-                  console.log('鎵撳紑鎴愬姛');
-                  util.hideLoading()
-                }
-              })
+                  console.log("鎵撳紑鎴愬姛");
+                  util.hideLoading();
+                },
+              });
             },
             fail: function (err) {
               console.log(err, "wx.downloadFile fail err");
-              util.hideLoadingWithErrorTips()
-            }
-          })
+              util.hideLoadingWithErrorTips();
+            },
+          });
         }
-        if (item.selectType == 'webpage') {
+        if (item.selectType == "webpage") {
           this.setData({
-            webpageSrc: item.jsek_link
-          })
-          console.log(this.data.webpageSrc, 'webpageSrc');
+            webpageSrc: item.jsek_link,
+          });
+          console.log(this.data.webpageSrc, "webpageSrc");
         }
       }
     },
@@ -212,13 +215,13 @@
       function findChildren(item) {
         if (item.id === id) {
           if (item.children && item.children.length > 0) {
-            item.children.forEach(child => {
+            item.children.forEach((child) => {
               findChildren(child);
             });
           }
         } else {
           if (item.children && item.children.length > 0) {
-            item.children.forEach(child => {
+            item.children.forEach((child) => {
               findChildren(child);
             });
           }
@@ -227,8 +230,8 @@
           result.push(...item.children);
         }
       }
-      console.log(this.properties.treeList, 'this.properties.treeList');
-      this.properties.treeList.forEach(item => {
+      console.log(this.properties.treeList, "this.properties.treeList");
+      this.properties.treeList.forEach((item) => {
         findChildren(item);
       });
       return result;
@@ -240,16 +243,16 @@
       function flatten(node) {
         result.push(node);
         if (node.children && node.children.length > 0) {
-          node.children.forEach(child => {
+          node.children.forEach((child) => {
             flatten(child);
           });
         }
       }
-      tree.forEach(node => {
+      tree.forEach((node) => {
         flatten(node);
       });
       // console.log(result, 'result');
-      return result
+      return result;
     },
 
     // 鍙樹负true
@@ -257,7 +260,7 @@
       function findAndUpdate(node) {
         if (ids.includes(node.id)) {
           // console.log(node, 'node');
-          node.checked = state // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
+          node.checked = state; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
         }
         if (node.children && node.children.length > 0) {
           for (let child of node.children) {
@@ -274,13 +277,13 @@
 
     checkResoucrceInfo(tree, id) {
       function findAndUpdate(node) {
-        if (node.sysType == 'CmsFolder' && node.children.length > 0) {
+        if (node.sysType == "CmsFolder" && node.children.length > 0) {
           for (let index = 0; index < node.children.length; index++) {
             const element = node.children[index];
-            findAndUpdate(element)
+            findAndUpdate(element);
           }
         } else if (id == node.id && node.sysType == "CmsItem") {
-          node.checked = !node.checked // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
+          node.checked = !node.checked; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
         }
       }
       for (let node of tree) {
@@ -290,142 +293,162 @@
     },
     // 鍏ㄩ��
     checkAll() {
-      const ids = []
-      const list = []
-      let checked = ''
-      this.properties.treeList.forEach(item => {
+      const ids = [];
+      const list = [];
+      let checked = "";
+      this.properties.treeList.forEach((item) => {
         if (item.children && item.children.length > 0) {
-          list.push(...this.flattenTree([item]))
+          list.push(...this.flattenTree([item]));
         }
-      })
-      list.forEach(item => {
-        ids.push(item.id)
-        checked = item.checked
-      })
-      const flag = list.findIndex(item => item.checked == false) > -1 ? true : false
-      const updataList = this.findAndUpdateItemsByIds(this.properties.treeList, ids, flag);
-      console.log(checked, 'list');
+      });
+      list.forEach((item) => {
+        ids.push(item.id);
+        checked = item.checked;
+      });
+      const flag =
+        list.findIndex((item) => item.checked == false) > -1 ? true : false;
+        var myEventDetail = {
+          value:flag,
+        }; // detail瀵硅薄锛屾彁渚涚粰浜嬩欢鐩戝惉鍑芥暟
+        var myEventOption = {
+          bubbles: true,
+          composed: true,
+        }; // 瑙﹀彂浜嬩欢鐨勯�夐」
+        this.triggerEvent('changeCheckAll',myEventDetail,myEventOption)
+      const updataList = this.findAndUpdateItemsByIds(
+        this.properties.treeList,
+        ids,
+        flag
+      );
+      console.log(checked, "list");
       if (!checked) {
         this.setData({
-          selectAll: list
-        })
+          selectAll: list,
+        });
       }
       this.setData({
-        treeList: updataList
-      })
+        treeList: updataList,
+      });
     },
 
     // 绔犺妭鍕鹃��
     checkResourceTitle(e) {
-      const flag = e.detail.checked
-      debugger
+      const flag = e.detail.checked;
+      debugger;
       // 杩欎釜鏃跺�檆hecked鐨勫�兼槸fals
-      let checkResourceTitleList = []
-      const item = e.currentTarget.dataset.item
+      let checkResourceTitleList = [];
+      const item = e.currentTarget.dataset.item;
       //
-      let list = this.flattenTree([item])
-      let ids = []
-      list.forEach(item => {
-        ids.push(item.id)
-      })
-      // console.log(list, 'list789');
-      const updatedTreeList = this.findAndUpdateItemsByIds(this.properties.treeList, ids, flag);
-      this.setData({
-        treeList: updatedTreeList // 鏇存柊 treeList 鏁版嵁
+      let list = this.flattenTree([item]);
+      let ids = [];
+      list.forEach((item) => {
+        ids.push(item.id);
       });
-      console.log(list, 'list.checked');
+      // console.log(list, 'list789');
+      const updatedTreeList = this.findAndUpdateItemsByIds(
+        this.properties.treeList,
+        ids,
+        flag
+      );
+      this.setData({
+        treeList: updatedTreeList, // 鏇存柊 treeList 鏁版嵁
+      });
+      console.log(list, "list.checked");
       if (!list.checked) {
         this.setData({
-          superiorPurchaseSaleMethodId: list
-        })
+          superiorPurchaseSaleMethodId: list,
+        });
       }
       // console.log(this.data.superiorPurchaseSaleMethodId, 'superiorPurchaseSaleMethodId');
-      list.forEach(items => {
-        console.log(items.checked, 'itesasd');
+      list.forEach((items) => {
+        console.log(items.checked, "itesasd");
         if (!items.checked) {
           this.setData({
-            cloudShoppingCart: items
-          })
+            cloudShoppingCart: items,
+          });
         }
-      })
+      });
       this.setData({
-        openIds: this.data.openIds
-      })
+        openIds: this.data.openIds,
+      });
     },
     // 瀛愰」鍕鹃��
     checkResource(e) {
-      const citem = e.currentTarget.dataset.item
-      console.log(citem, '5648');
-      const updataList = this.checkResoucrceInfo(this.properties.treeList, citem.id)
-      console.log(citem.checked, 'citem.checked');
+      const citem = e.currentTarget.dataset.item;
+      console.log(citem, "5648");
+      const updataList = this.checkResoucrceInfo(
+        this.properties.treeList,
+        citem.id
+      );
+      console.log(citem.checked, "citem.checked");
       if (!citem.checked) {
         //閫変腑鐨勬椂鍊欐坊鍔爄d
-        let sonPurchaseSaleMethodId = this.data.sonPurchaseSaleMethodId || []
-        console.log(this.properties.paymentPage, 'this.properties.paymentPage');
+        let sonPurchaseSaleMethodId = this.data.sonPurchaseSaleMethodId || [];
+        console.log(this.properties.paymentPage, "this.properties.paymentPage");
         if (this.properties.paymentPage) {
           console.log(789987);
-          sonPurchaseSaleMethodId = []
-          this.properties.paymentPage = false
+          sonPurchaseSaleMethodId = [];
+          this.properties.paymentPage = false;
         }
         if (!this.properties.paymentPage) {
-          sonPurchaseSaleMethodId.push(citem.saleMethod[0].Id)
+          sonPurchaseSaleMethodId.push(citem.saleMethod[0].Id);
         }
         this.setData({
-          sonPurchaseSaleMethodId: sonPurchaseSaleMethodId
-        })
+          sonPurchaseSaleMethodId: sonPurchaseSaleMethodId,
+        });
         console.log(this.data.sonPurchaseSaleMethodId);
       } else {
         // 鍙栨秷閫変腑鐨勬椂鍊欏垹闄d
       }
       this.setData({
         treeList: updataList,
-      })
+      });
     },
     // 鍔犲叆璐墿杞�
     async onCloudShoppingCart(e) {
-
-      let shoppingCartGetId = []
-      const saleMethodId = e.currentTarget.dataset.item.saleMethod[0].Id
+      let shoppingCartGetId = [];
+      const saleMethodId = e.currentTarget.dataset.item.saleMethod[0].Id;
       console.log(saleMethodId);
       let query = {
         start: 0,
         size: 999,
         filterList: [],
-        searchList: []
-      }
+        searchList: [],
+      };
 
-      const res = await app.MG.store.getShoppingCartProductList(query)
-      res.datas.forEach(item => {
-        shoppingCartGetId.push(item.saleMethod.id)
-      })
+      const res = await app.MG.store.getShoppingCartProductList(query);
+      res.datas.forEach((item) => {
+        shoppingCartGetId.push(item.saleMethod.id);
+      });
       if (shoppingCartGetId.includes(saleMethodId)) {
         console.log(111);
 
         wx.showToast({
-          icon: 'error',
-          title: '宸叉坊鍔�',
-        })
+          icon: "error",
+          title: "宸叉坊鍔�",
+        });
         this.setData({
-          shoppingCart: false
-        })
+          shoppingCart: false,
+        });
       } else {
         let query = {
-          requests: [{
-            saleMethodId: saleMethodId,
-            storeEventId: null,
-            // agentCode: '鐢靛瓙涔�'
-          }]
-        }
-        const addRes = await app.MG.store.addShoppingCart(query)
-        console.log(addRes, 'addRes');
+          requests: [
+            {
+              saleMethodId: saleMethodId,
+              storeEventId: null,
+              // agentCode: '鐢靛瓙涔�'
+            },
+          ],
+        };
+        const addRes = await app.MG.store.addShoppingCart(query);
+        console.log(addRes, "addRes");
         wx.showToast({
-          icon: 'success',
-          title: '娣诲姞鎴愬姛',
-        })
+          icon: "success",
+          title: "娣诲姞鎴愬姛",
+        });
       }
-
     },
   },
 
-  catchtap() {}
-})
\ No newline at end of file
+  catchtap() {},
+});

--
Gitblit v1.9.1