From cb15c57d0ff984f5a100cf25d560fb0a69c00984 Mon Sep 17 00:00:00 2001
From: yiming <m13691596795@163.com>
Date: 星期二, 16 四月 2024 18:21:05 +0800
Subject: [PATCH] 音频bug4

---
 packageBookService/pages/bookServices/detail/components/tree/index.js |  667 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 532 insertions(+), 135 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.js b/packageBookService/pages/bookServices/detail/components/tree/index.js
index 414cc08..ef5aa5a 100644
--- a/packageBookService/pages/bookServices/detail/components/tree/index.js
+++ b/packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -1,166 +1,304 @@
-
-import Message from 'tdesign-miniprogram/message/message';
-const util = require('./components/util') // 寮曞叆灏佽杩囩殑鍔犺浇鎻愮ず
-const app = getApp()
+const util = require("./components/util"); // 寮曞叆灏佽杩囩殑鍔犺浇鎻愮ず
+import {
+  loginInfo
+} from "../../../../../../assets/js/login";
+const app = getApp();
 Component({
   properties: {
     treeList: {
+      type: Array,
+      value: [],
+    },
+    learnList: {
       type: Array,
       value: []
     },
     bookInfo: {
       type: Object,
-      value: {}
+      value: {},
     },
     buyIds: {
       type: Array,
-      value: []
+      value: [],
     },
     tab: {
       type: String,
-      value: ''
+      value: "",
     },
     applyState: {
       type: String,
-      value: ''
+      value: "",
     },
-    openTeachids: {
+    openIds: {
       type: Array,
-      value: ''
+      value: [],
     },
-    openLearnids: {
-      type: Array,
-      value: ""
-    }
+    isShowCheck: {
+      type: Boolean,
+      value: false,
+    },
+    paymentPage: {
+      type: Boolean,
+      value: false,
+    },
+    superior: {
+      type: Boolean,
+      value: false,
+    },
+    checkAllState: {
+      type: Boolean,
+    },
   },
   data: {
-    activeValues: [0],
-    webpageSrc: ''
+    sonPurchaseSaleMethodId: "",
+    superiorPurchaseSaleMethodId: [],
+    activeValues: [1, 2],
+    webpageSrc: "",
+    cloudShoppingCart: [],
+    selectAll: [],
+    shoppingCart: true,
+    stop: false,
+    cart: true
   },
-  onShow() {
+  ready() {},
 
+  onLoad() {
+    this.setData({
+      sonPurchaseSaleMethodId: [],
+    });
   },
-
+  observers: {
+    treeList: function (newValue) {
+      const list = [];
+      let checked = "";
+      this.properties.treeList.forEach((item) => {
+        if (item.children && item.children.length > 0) {
+          list.push(...this.flattenTree([item]));
+        }
+      });
+      const flag = list.findIndex((item) => item.checked == true);
+    },
+  },
 
   methods: {
+    handleList(tree) {
+      for (let index = 0; index < tree.length; index++) {
+        const item = tree[index];
+        if (item.sysType == "CmsItem" && !item.checked) {}
+        if (item.children && item.children.length > 0) {
+          this.handleList(item.children);
+        }
+      }
+    },
     // 鑺傜偣灞曞紑
     handleChange(e) {
       this.setData({
-        activeValues: e.detail.value,
+        openIds: e.detail.value,
       });
-      console.log('浼犻��', this.properties.buyIds);
     },
     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) {
-        const isSHow = buyIdList.value.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 item = e.currentTarget.dataset.item
-      const parent = e.currentTarget.dataset.parent
+      // 妫�鏌ョ櫥褰曠姸鎬�
+      const token = wx.getStorageSync(app.config.tokenKey);
+
+      if (token) {
+        const item = e.currentTarget.dataset.item;
+        const parent = e.currentTarget.dataset.parent;
+        const parentProductLinkPath = parent ? parent.productLinkPath : wx.getStorageSync('teachResourcesPath')
+        const parentName = parent ? parent.name : '鏁欏璧勬簮'
+        let url;
+        if (this.properties.isShowCheck && this.resourceIsBuy(item)) {
+          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 (
+          this.properties.tab == "jsek_cloudLearning" &&
+          this.resourceIsBuy(item)
+        ) {
+          return wx.showToast({
+            icon: "error",
+            title: item.saleMethod[0].Price > 0 ?
+              "璇峰厛璐拱璇ヨ祫婧�" : "璇峰厛鐐瑰嚮棰嗗彇鏌ョ湅鎸夐挳",
+          });
+        }
+        wx.navigateTo({
+          url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=${this.properties.tab}`,
+        });
 
 
-
-      let url
-      if (item.selectType == 'video') {
-        url = '/packageDomain/pages/resourceDetails/myVideo/index'
-      } else if (item.selectType == 'audio') {
-        url = '/packageDomain/pages/resourceDetails/myAudio/index'
-      } else if (item.selectType == 'picture' || item.selectType == 'zip') {
-        url = '/packageDomain/pages/resourceDetails/document/index'
-      }
-
-      // else {
-      //   
-      // }
-      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');
-        //鎻愮ず鍔犺浇涓�
-        util.showLoading()
-        // 鍗曟涓嬭浇鍏佽鐨勬渶澶ф枃浠朵负 200MB
-        wx.downloadFile({
-          url: fileLink, // 鍦板潃宸叉墦鐮侊紝鑷繁鎹釜鍏朵粬鐨勫湴鍧�锛�"https://www.xxxxx.com/file/娴嬭瘯閫氱煡.pdf"锛�
-          success: function (res) {
-            console.log(res, "wx.downloadFile success res")
-            if (res.statusCode != 200) {
-              util.hideLoadingWithErrorTips()
-              return false
-            }
-            var Path = res.tempFilePath //杩斿洖鐨勬枃浠朵复鏃跺湴鍧�锛岀敤浜庡悗闈㈡墦寮�鏈湴棰勮鎵�鐢�
-            wx.openDocument({
-              filePath: Path,
-              showMenu: true,
-              success: function (res) {
-                console.log('鎵撳紑鎴愬姛');
-                util.hideLoading()
+        if (item.selectType == "document" || item.selectType == "pdf") {
+          const fileLink =
+            app.config.requestCtx + "/file/api/ApiDownload?md5=" + item.file;
+          console.log(fileLink, "fileLink");
+          //鎻愮ず鍔犺浇涓�
+          util.showLoading();
+          // 鍗曟涓嬭浇鍏佽鐨勬渶澶ф枃浠朵负 200MB
+          wx.downloadFile({
+            url: fileLink,
+            success: function (res) {
+              console.log(res, "wx.downloadFile success res");
+              if (res.statusCode != 200) {
+                util.hideLoadingWithErrorTips();
+                return false;
               }
-            })
-          },
-          fail: function (err) {
-            console.log(err, "wx.downloadFile fail err");
-            util.hideLoadingWithErrorTips()
-          }
-        })
+              var Path = res.tempFilePath; //杩斿洖鐨勬枃浠朵复鏃跺湴鍧�锛岀敤浜庡悗闈㈡墦寮�鏈湴棰勮鎵�鐢�
+              wx.openDocument({
+                filePath: Path,
+                showMenu: true,
+                success: function (res) {
+                  console.log("鎵撳紑鎴愬姛");
+                  util.hideLoading();
+                },
+              });
+            },
+            fail: function (err) {
+              console.log(err, "wx.downloadFile fail err");
+              util.hideLoadingWithErrorTips();
+            },
+          });
+        }
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+        // if (item.selectType == "document" || item.selectType == "pdf") {
+        //   const fileLink = app.config.requestCtx + "/file/api/ApiDownload?md5=" + item.file;
+
+        //   let filePath = wx.env.USER_DATA_PATH + '/' + item.name
+        //   console.log(filePath, 'filePath');
+        //   //鎻愮ず鍔犺浇涓�
+        //   util.showLoading();
+        //   // 鍗曟涓嬭浇鍏佽鐨勬渶澶ф枃浠朵负 200MB
+        //   wx.downloadFile({
+        //     url: fileLink,
+        //     success: function (res) {
+
+        //       if (res.statusCode != 200) {
+        //         util.hideLoadingWithErrorTips();
+        //         return false;
+        //       }
+        //       var Path = res.tempFilePath; //杩斿洖鐨勬枃浠朵复鏃跺湴鍧�锛岀敤浜庡悗闈㈡墦寮�鏈湴棰勮鎵�鐢�
+
+        //       wx.saveFile({
+        //         tempFilePath: Path,
+        //         success: function (res) {
+        //           var savedFilePath = res.savedFilePath;
+        //           // 灏嗘枃浠朵繚瀛樹负 item.name
+        //           wx.saveFile({
+        //             tempFilePath: savedFilePath,
+        //             filePath: wx.env.USER_DATA_PATH + '/' + item.name,
+        //             success: function (res) {
+        //               wx.openDocument({
+        //                 filePath: res.savedFilePath,
+        //                 showMenu: true,
+        //                 success: function (res) {
+        //                   util.hideLoading();
+        //                 },
+        //               });
+        //             },
+        //             fail: function (err) {
+        //               util.hideLoadingWithErrorTips();
+        //             }
+        //           });
+        //         },
+        //         fail: function (err) {
+        //           util.hideLoadingWithErrorTips();
+        //         }
+        //       });
+        //     },
+        //     fail: function (err) {
+        //       util.hideLoadingWithErrorTips();
+        //     },
+        //   });
+        // }
+
+
+
+
+
+        if (item.selectType == "webpage") {
+          this.setData({
+            webpageSrc: item.jsek_link,
+          });
+          console.log(this.data.webpageSrc, "webpageSrc");
+        }
       }
-
-      if (item.selectType == 'webpage') {
-        console.log(11);
-        this.setData({
-          webpageSrc: item.jsek_link
-        })
-        console.log(this.data.webpageSrc, 'webpageSrc');
-      }
-
-
-
     },
+
     // 鎷垮埌鎵�鏈夐」
     getAllChildren(id) {
       let result = [];
+
       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);
             });
           }
@@ -169,8 +307,8 @@
           result.push(...item.children);
         }
       }
-      console.log(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;
@@ -178,46 +316,28 @@
     // 鎷垮埌褰撳墠椤瑰瓙椤�
     flattenTree(tree) {
       let result = [];
+
       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);
       });
-      return result
+      // console.log(result, 'result');
+      return result;
     },
-    findAndUpdateItemById(tree, id) {
-      function findAndUpdate(node) {
-        if (node.id === id) {
-          node.check = true; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
-          return true; // 杩斿洖 true 琛ㄧず鎵惧埌浜嗙洰鏍囬」
-        }
-        if (node.children && node.children.length > 0) {
-          for (let child of node.children) {
-            if (findAndUpdate(child)) {
-              return true; // 濡傛灉鍦ㄥ瓙鑺傜偣涓壘鍒颁簡鐩爣椤癸紝鍒欑洿鎺ヨ繑鍥� true
-            }
-          }
-        }
-        return false; // 琛ㄧず鏈壘鍒扮洰鏍囬」
-      }
 
-      for (let node of tree) {
-        if (findAndUpdate(node)) {
-          break; // 濡傛灉鍦ㄩ《灞傝妭鐐逛腑鎵惧埌浜嗙洰鏍囬」锛岀洿鎺ラ��鍑哄惊鐜�
-        }
-      }
-    },
     // 鍙樹负true
-    findAndUpdateItemsByIds(tree, ids) {
+    findAndUpdateItemsByIds(tree, ids, state) {
       function findAndUpdate(node) {
         if (ids.includes(node.id)) {
-          node.checked = true; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
+          // console.log(node, 'node');
+          node.checked = state; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
         }
         if (node.children && node.children.length > 0) {
           for (let child of node.children) {
@@ -225,29 +345,306 @@
           }
         }
       }
+      for (let node of tree) {
+        findAndUpdate(node); // 瀵规瘡涓《灞傝妭鐐规墽琛屾煡鎵惧拰鏇存柊鎿嶄綔
+      }
+      // console.log(tree, 'tree345');
+      return tree; // 杩斿洖淇敼鍚庣殑瀹屾暣鏁扮粍
+    },
 
+    checkResoucrceInfo(tree, id) {
+      function findAndUpdate(node) {
+        if (node.sysType == "CmsFolder" && node.children.length > 0) {
+          for (let index = 0; index < node.children.length; index++) {
+            const element = node.children[index];
+            findAndUpdate(element);
+          }
+        } else if (id == node.id && node.sysType == "CmsItem") {
+          node.checked = !node.checked; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
+        }
+      }
       for (let node of tree) {
         findAndUpdate(node); // 瀵规瘡涓《灞傝妭鐐规墽琛屾煡鎵惧拰鏇存柊鎿嶄綔
       }
       return tree; // 杩斿洖淇敼鍚庣殑瀹屾暣鏁扮粍
     },
+    // 鍏ㄩ��
+    checkAll() {
+      const ids = [];
+      const list = [];
+      let checked = "";
+      this.properties.treeList.forEach((item) => {
+        if (item.children && item.children.length > 0) {
+          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 flag = this.properties.checkAllState;
+      // const updataList = this.findAndUpdateItemsByIds(
+      //   this.properties.treeList,
+      //   ids,
+      //   flag
+      // );
+      // this.setData({
+      //   treeList: updataList,
+      // });
+
+      var myEventDetail = {
+        ids,
+        flag,
+      }; // detail瀵硅薄锛屾彁渚涚粰浜嬩欢鐩戝惉鍑芥暟
+      var myEventOption = {
+        bubbles: true,
+        composed: true,
+      }; // 瑙﹀彂浜嬩欢鐨勯�夐」
+      this.triggerEvent("changeListChecked", myEventDetail, myEventOption);
+
+      if (!checked) {
+        this.setData({
+          selectAll: list,
+        });
+      }
+      var myEventDetail = {
+        value: !flag,
+      }; // detail瀵硅薄锛屾彁渚涚粰浜嬩欢鐩戝惉鍑芥暟
+      var myEventOption = {
+        bubbles: true,
+        composed: true,
+      }; // 瑙﹀彂浜嬩欢鐨勯�夐」
+      this.triggerEvent("changeCheckAll", myEventDetail, myEventOption);
+    },
+
     // 绔犺妭鍕鹃��
     checkResourceTitle(e) {
+      const flag = e.detail.checked;
+      // 杩欎釜鏃跺�檆hecked鐨勫�兼槸fals
+      let checkResourceTitleList = [];
+      const item = e.currentTarget.dataset.item;
+      const parent = this.findParentById(this.properties.learnList, item.id)
+      let childrenList
+      let flagNum
+      if (parent) childrenList = parent.children.filter(citem => citem.id !== item.id)
+      if (childrenList) flagNum = childrenList.findIndex(item => item.checked == false)
+      let list = this.flattenTree([item]);
+      let ids = [];
+      list.forEach((item) => {
+        if (item.sysType == 'CmsFolder' || (item.sysType == 'CmsItem' && item.saleMethod.length))
+          ids.push(item.id);
+      });
+      var myEventDetail = {
+        ids,
+        flag,
+      }; // detail瀵硅薄锛屾彁渚涚粰浜嬩欢鐩戝惉鍑芥暟
+      var myEventOption = {
+        bubbles: true,
+        composed: true,
+      }; // 瑙﹀彂浜嬩欢鐨勯�夐」
+      this.triggerEvent("changeListChecked", myEventDetail, myEventOption);
+      if (flagNum == -1) {
+        let checkedState
+        var myEventDetail = {
+          ids: [parent.id],
+          flag,
+        }; // detail瀵硅薄锛屾彁渚涚粰浜嬩欢鐩戝惉鍑芥暟
+        var myEventOption = {
+          bubbles: true,
+          composed: true,
+        }; // 瑙﹀彂浜嬩欢鐨勯�夐」
+        this.triggerEvent("changeListChecked", myEventDetail, myEventOption);
+      }
+      if (!list.checked) {
+        this.setData({
+          superiorPurchaseSaleMethodId: list,
+        });
+      }
+      list.forEach((items) => {
+        console.log(items.checked, "itesasd");
+        if (!items.checked) {
+          this.setData({
+            cloudShoppingCart: items,
+          });
+        }
+      });
+      this.setData({
+        openIds: this.data.openIds,
+      });
+    },
+    // 瀛愰」鍕鹃��
+    checkResource(e) {
+      const citem = e.currentTarget.dataset.item;
+      const parent = e.currentTarget.dataset.parent
+      let outermost
+      if (parent) outermost = this.findParentById(this.properties.learnList, parent.id)
+      const childrenList = parent.children.filter(item => item.id !== citem.id && item.saleMethod.length)
+      const flag = childrenList.findIndex(item => item.checked == false)
+      // 鏀瑰彉璇ラ」checked
+      var myEventDetail = {
+        id: citem.id
+      };
+      var myEventOption = {
+        bubbles: true,
+        composed: true,
+      };
+      this.triggerEvent("changeResourceChecked", myEventDetail, myEventOption);
+      // 閫氳繃鍒ゆ柇,鑱旈�氱埗绾hecked
+      if (flag == -1) {
+        let checkedState
+        citem.checked == false ? checkedState = true : checkedState = false
+        var myEventDetail = {
+          ids: [parent.id],
+          flag: checkedState,
+        };
+        var myEventOption = {
+          bubbles: true,
+          composed: true,
+        };
+        this.triggerEvent("changeListChecked", myEventDetail, myEventOption);
+      }
+      // 鑱旈�氭渶澶栧眰绾hecked ,濡傛灉鏈変竴涓彇娑堝嬀閫�,涓斿綋鍓嶆渶澶栧眰鍕鹃��,鍒欏彇娑堟渶澶栧眰鐨勫嬀閫�
+      if (citem.checked && outermost && outermost.checked) {
+        var myEventDetail = {
+          ids: [outermost.id],
+          flag: false,
+        };
+        var myEventOption = {
+          bubbles: true,
+          composed: true,
+        };
+        this.triggerEvent("changeListChecked", myEventDetail, myEventOption);
+      }
+      // 鑱旈�氭渶澶栧眰绾hecked, 濡傛灉鎵�鏈夊瓙椤瑰嬀閫�, 涓斿綋鍓嶆渶澶栧眰鏈嬀閫�, 鍒欏姞涓婃渶澶栧眰鐨勫嬀閫�
+      if (!citem.checked && outermost) {
+        let allchildren = this.flattenTree([outermost])
+        allchildren = allchildren.filter(item => item.sysType == 'CmsItem' && item.id !== citem.id && item.saleMethod.length)
+        const satate = allchildren.findIndex(item => item.checked == false)
+        if (satate == -1) {
+          var myEventDetail = {
+            ids: [outermost.id],
+            flag: true,
+          };
+          var myEventOption = {
+            bubbles: true,
+            composed: true,
+          };
+          this.triggerEvent("changeListChecked", myEventDetail, myEventOption);
+        }
+      }
+      if (!citem.checked) {
+        //閫変腑鐨勬椂鍊欐坊鍔爄d
+        let sonPurchaseSaleMethodId = this.data.sonPurchaseSaleMethodId || [];
+        if (this.properties.paymentPage) {
+          sonPurchaseSaleMethodId = [];
+          this.properties.paymentPage = false;
+        }
+        if (!this.properties.paymentPage) {
+          sonPurchaseSaleMethodId.push(citem.saleMethod[0].Id);
+        }
+        this.setData({
+          sonPurchaseSaleMethodId: sonPurchaseSaleMethodId,
+        });
+      } else {
+        // 鍙栨秷閫変腑鐨勬椂鍊欏垹闄d
+      }
+    },
+    // 鍔犲叆璐墿杞�
+    async onCloudShoppingCart(e) {
+      let shoppingCartGetId = [];
+
       const item = e.currentTarget.dataset.item
-      console.log(item, 'item');
-      let list = this.flattenTree([item])
-      let ids = []
-      list.forEach(item => {
-        ids.push(item.id)
-      })
-      const tab = this.findAndUpdateItemsByIds([item], ids)
-      console.log(ids, tab);
+      console.log(item.isShopCar);
+      const saleMethodId = e.currentTarget.dataset.item.saleMethod[0].Id;
+      console.log(saleMethodId);
+      let query = {
+        start: 0,
+        size: 999,
+        filterList: [],
+        searchList: [],
+      };
+
+      const res = await app.MG.store.getShoppingCartProductList(query);
+      res.datas.forEach((item) => {
+        shoppingCartGetId.push(item.saleMethod.id);
+      });
+      if (shoppingCartGetId.includes(saleMethodId)) {
+        console.log(111);
+        // this.data.updateShoppingCartHidden();
+        // this.data.updateCloudLearning();
+
+        wx.showToast({
+          icon: "error",
+          title: "宸叉坊鍔�",
+        });
+        this.setData({
+          shoppingCart: false,
+        });
+      } else {
+        let query = {
+          requests: [{
+            saleMethodId: saleMethodId,
+            storeEventId: null,
+            // agentCode: '鐢靛瓙涔�'
+          }, ],
+        };
+        const addRes = await app.MG.store.addShoppingCart(query);
+        console.log(addRes, "addRes");
+        if (addRes) {
+          wx.showToast({
+            icon: "success",
+            title: "娣诲姞鎴愬姛",
+          });
+          item.isShopCar = false
+          this.triggerEvent("updateCloudLearning")
+        }
+
+      }
+    },
+    sadd() {
+      this.triggerEvent("updateShoppingCartHidden");
+      this.triggerEvent("updateCloudLearning");
+    },
+    findParentById(arr, id) {
+      for (let i = 0; i < arr.length; i++) {
+        const item = arr[i];
+        // 妫�鏌ュ綋鍓嶉」鏄惁鍖归厤锛堝嵆瀹冩槸涓嶆槸鎴戜滑瑕佹壘鐨勯」锛�  
+        if (item.id === id) {
+          // 濡傛灉褰撳墠椤瑰氨鏄垜浠鎵剧殑椤癸紝鍒欏畠娌℃湁鐖剁骇锛岃繑鍥� null  
+          return null;
+        }
+        // 閫掑綊鏌ユ壘褰撳墠椤圭殑瀛愰」  
+        const child = this.findChildById(item.children, id);
+        if (child) {
+          // 濡傛灉鍦ㄥ瓙椤逛腑鎵惧埌鍖归厤鐨勯」锛岃繑鍥炲綋鍓嶉」浣滀负鐖剁骇  
+          return item;
+        }
+      }
+      // 濡傛灉娌℃湁鎵惧埌鍖归厤鐨勭埗椤癸紝杩斿洖 null  
+      return null;
+    },
+
+    // 杈呭姪鍑芥暟锛岀敤浜庨�掑綊鏌ユ壘瀛愰」  
+    findChildById(children, id) {
+      if (!children) {
+        return null;
+      }
+      for (let i = 0; i < children.length; i++) {
+        const child = children[i];
+        if (child.id === id) {
+          // 濡傛灉鎵惧埌鍖归厤鐨勯」锛岃繑鍥炲畠  
+          return child;
+        }
+        // 閫掑綊妫�鏌ュ瓙椤圭殑瀛愰」  
+        const subChild = this.findChildById(child.children, id);
+        if (subChild) {
+          return subChild;
+        }
+      }
+      // 濡傛灉娌℃湁鎵惧埌鍖归厤鐨勯」锛岃繑鍥� null  
+      return null;
     }
   },
-  onCloudShoppingCart() {
-    console.log(this.properties.treeList);
-  },
-  oncheckbox() {
-    console.log(111);
-  }
-})
\ No newline at end of file
+});
\ No newline at end of file

--
Gitblit v1.9.1