From c96612e8a63ecef9590be0f8b5199277ec94e5b9 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期三, 18 九月 2024 18:43:12 +0800
Subject: [PATCH] 云学习购买目录,修改bug

---
 packageBookService/pages/bookServices/detail/index.js |  611 +++++++++++++++++++++++++++---------------------------
 1 files changed, 306 insertions(+), 305 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index 8e0ddd0..44051f6 100644
--- a/packageBookService/pages/bookServices/detail/index.js
+++ b/packageBookService/pages/bookServices/detail/index.js
@@ -1,6 +1,7 @@
 // pages/bookServices/detail/index.js
 import Toast from "tdesign-miniprogram/toast";
 import tool from "../../../../assets/js/toolClass";
+import moment from 'moment'
 import {
   loginInfo
 } from "../../../../assets/js/login";
@@ -50,6 +51,9 @@
     applyState: "", // 鏁欏璧勬簮鐢宠鐘舵��
     deadline: "", // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡,
     isshowDrawBtn: true, // 浜戝涔犻鍙栨煡鐪嬫寜閽槸鍚︽樉绀�
+    isShowBuyCloundMenu: false, //   浜戝涔犲叏閮ㄨ喘涔版寜閽槸鍚︽樉绀�
+    isCloundHaveSaleMethod: false, // 浜戝涔犳槸鍚︽湁閿�鍞柟寮� 
+    cloundMenuIsBuy: false,
     rejectCause: "", // 涓嬭浇鎷掔粷鍘熷洜
     buyIdList: [],
     shoppingCartGetId: [], // 宸茶喘涔癷d鍒楄〃
@@ -168,6 +172,37 @@
       description: '',
       agree: false
     },
+    resourceVisible: false,
+    resourceValue: [],
+    fileTypeList: [{
+        label: '闊抽',
+        value: '闊抽'
+      },
+      {
+        label: '瑙嗛',
+        value: '瑙嗛'
+      },
+      {
+        label: '鍥剧墖',
+        value: '鍥剧墖'
+      },
+      {
+        label: 'PDF',
+        value: 'PDF'
+      },
+      {
+        label: '璧勬簮鍖�',
+        value: '璧勬簮鍖�'
+      },
+      {
+        label: '鏂囨。',
+        value: '鏂囨。'
+      },
+      {
+        label: '鍏朵粬',
+        value: '鍏朵粬'
+      }
+    ],
     fileList: [],
     isShowUp: true,
     protocolShow: false,
@@ -192,20 +227,24 @@
       bookId: options.id + "",
       barHeight: systInfo.statusBarHeight,
       navBarHeight: navBarHeight,
-    });
-    this.setData({
       options: {
         id: options.id,
-        name: options.name,
+        name: decodeURI(options.name),
         storeInfo: options.storeInfo,
       },
     });
     wx.setNavigationBarTitle({
-      title: options.name,
+      title: decodeURI(options.name),
     })
+    let token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      loginInfo(app, (data) => {
+        if (data) {} else {}
+      })
+    }
     this.getBookInfo(options.id);
     // this.getResourceClass(); // 鑾峰彇璧勬簮鎵�灞炲垎绫�
-    const token = wx.getStorageSync(app.config.tokenKey);
+    token = wx.getStorageSync(app.config.tokenKey)
     if (token) {
       this.getShoppingCartProductGet();
       this.getApplyInfo(options.id);
@@ -220,12 +259,14 @@
       this.getSelectPaperBookCount();
       this.getSelectBookCount();
     }
-  },
+    if (options.tabValue) {
+      this.setData({
+        tabValue: options.tabValue,
+      });
 
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
-   */
-  onReady() {},
+
+    }
+  },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
@@ -247,21 +288,6 @@
   },
 
   /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
-   */
-  onHide() {},
-
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
-   */
-  onUnload() {},
-
-  /**
-   * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
-   */
-  onPullDownRefresh() {},
-
-  /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   onReachBottom() {
@@ -271,10 +297,6 @@
     }
   },
 
-  /**
-   * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
-   */
-  onShareAppMessage() {},
   // 鏍煎紡鍖栨棩鏈�
   formatDate(dateString) {
     if (!dateString) {
@@ -438,6 +460,16 @@
           await this.getBookClass(classData);
         }
       }
+      if (this.data.tabValue == 'questionBank' || this.data.tabValue == 'jsek_cloudLearning' || this.data.tabValue == 'jsek_teachingResources') {
+        const checkData = this.data.cmsDatas.find(
+          (item) => item.refCode == this.data.tabValue
+        );
+        if (this.data.tabValue == "questionBank") {
+          this.getResourceData(checkData)
+        } else {
+          this.getResourceDataList(checkData)
+        }
+      }
 
       // 鑾峰彇缁勫嵎閿�鍞甶d
       if (res.datas.saleMethod && res.datas.saleMethod.length) {
@@ -465,9 +497,7 @@
         }
       }
       this.setData({
-        "bookDetail.publicationDate": this.formatDate(
-          this.data.bookDetail.publicationDate
-        ),
+        "bookDetail.publicationDate": moment(this.data.bookDetail.publicationDate).format("YYYY骞碝M鏈�"),
         "bookDetail.price": this.numFormat(this.data.bookDetail.price),
         "bookDetail.oldPrice": this.numFormat(this.data.bookDetail.oldPrice),
         "bookDetail.paperPrice": this.numFormat(
@@ -493,9 +523,9 @@
     }
     app.MG.store.getProductDetail(query).then((res) => {
       this.setData({
-        resourceCodeList: res.datas.cmsDatas[0].datas
+        resourceCodeList: res.datas.cmsDatas[0].datas,
       })
-      // console.log('鍥句功璧勬簮', res.datas.cmsDatas[0].datas)
+      console.log('refcode', this.data.resourceCodeList);
     })
   },
   //璇锋眰瀛愬晢鍝佺殑鏂囦欢
@@ -703,7 +733,7 @@
       link
     } = e.currentTarget.dataset;
     wx.navigateTo({
-      url: `/packageBookService/pages/bookServices/webpage/index?url=${link}`,
+      url: `/packageBookService/pages/bookServices/linkPage/index?path=${link}`,
     });
   },
   // tag鍒囨崲
@@ -719,7 +749,7 @@
       e.detail.label == "浜戞祴璇�"
     ) {
       const checkData = this.data.cmsDatas.find(
-        (item) => item.refCode == e.detail.value
+        (item) => item.refCode == this.data.tabValue
       );
       if (!this.data.resourceClassList.length) this.getResourceClass()
       if (checkData) {
@@ -822,10 +852,9 @@
   },
 
   // 鎵佸钩鍖栨暟鎹浆鎹ree
-  getTreeList(rootList, pathLength, newArr, path) {
+  getTreeList(rootList, newArr, path) {
     for (const item of rootList) {
-      // 姝ゅ鍘熸湰 item.productLinkPath.length == pathLength 浣� productLinkPath 闀垮害涓埆涔﹀瓨鍦�4銆�5浣嶄氦閿�
-      if ((pathLength - item.productLinkPath.length >= 0 && pathLength - item.productLinkPath.length <= 3) && item.productLinkPath.includes(path)) {
+      if (path == item.productLinkPath.replace('\\' + item.id, '')) {
         if (item.sysType == 'CmsItem') {
           if (item.selectType == 'webpage') {
             item.disabled = true
@@ -846,11 +875,9 @@
       }
     }
     //缁欐暟缁勯噷闈㈠啀娣诲姞涓�涓猚hildren鐨勭┖鏁扮粍
-    // let addnum1 = pathLength - path.length == 6 ? 6 : 7
     for (const i of newArr) {
       i.children = []
-      let addnum1 = i.productLinkPath.length - path.length == 6 ? 6 : 7
-      this.getTreeList(rootList, pathLength + addnum1, i.children, i.productLinkPath)
+      this.getTreeList(rootList, i.children, i.productLinkPath)
       if (i.children.length == 0) {
         delete i.children
       }
@@ -877,28 +904,41 @@
   // 鎺掑簭鏁扮粍 鎸夌収productLinkPath
   insertAndSortObjectsByProductLinkPath(array, newObj) {
     // 鏌ユ壘鏂板璞″簲璇ユ彃鍏ョ殑浣嶇疆  
-    let insertIndex = array.findIndex(obj => Number(newObj.productLinkPath.substring(newObj.productLinkPath.lastIndexOf('\\') + 1, newObj.productLinkPath.length)) < Number(obj.productLinkPath.substring(obj.productLinkPath.lastIndexOf('\\') + 1, obj.productLinkPath.length)));
+    let insertIndex = array.findIndex(obj => newObj.id < obj.id);
     // 濡傛灉娌℃湁鎵惧埌鍚堥�傜殑浣嶇疆锛屽垯鏀惧湪鏁扮粍鏈熬  
     if (insertIndex === -1) {
       insertIndex = array.length;
     }
     // 鎻掑叆鏂板璞″埌鏁扮粍  
     array.splice(insertIndex, 0, newObj);
-    // 娴嬭瘯6 姝e紡5
     // 瀵规暟缁勮繘琛屾帓搴�  
     array.sort((a, b) => {
-      if (Number(a.productLinkPath.substring(a.productLinkPath.lastIndexOf('\\') + 1, a.productLinkPath.length)) < Number(b.productLinkPath.substring(b.productLinkPath.lastIndexOf('\\') + 1, b.productLinkPath.length))) {
-        return -1;
-      }
-      if (Number(a.productLinkPath.substring(a.productLinkPath.lastIndexOf('\\') + 1, a.productLinkPath.length)) > Number(b.productLinkPath.substring(b.productLinkPath.lastIndexOf('\\') + 1, b.productLinkPath.length))) {
-        return 1;
-      }
-      // a must be equal to b  
+      if (a.id < b.id) return -1;
+      if (a.id > b.id) return 1;
       return 0;
     });
-
     // 杩斿洖鏇存柊鍚庣殑鏁扮粍  
     return array;
+  },
+  // 閫掑綊鏍戠粨鏋勶紝濡傛灉鐖剁骇鏈夐攢鍞柟寮�(鏈夋晥鏈�)锛屽幓鎺夋墍鏈夊瓙闆嗙殑閿�鍞柟寮�
+  clearTreeSealmethod(clearSaleMethod, tree) {
+    for (let item of tree) {
+      const saleData = item.saleMethod &&
+        item.saleMethod.length ?
+        item.saleMethod.find((citem) => citem.SaleType == 'Normal') : null
+      if (
+        ((saleData && new Date(saleData.EndDate).getTime() >= new Date().getTime() && new Date(saleData.BeginDate).getTime() <= new Date().getTime()) ||
+          clearSaleMethod) && item.children && item.children.length
+      ) {
+        item.children.forEach((ditem) => (ditem.saleMethod = []))
+      }
+      if (item.children && item.children.length)
+        this.clearTreeSealmethod(
+          saleData && new Date(saleData.EndDate).getTime() >= new Date().getTime() && new Date(saleData.BeginDate).getTime() <= new Date().getTime(),
+          item.children
+        )
+    }
+    return tree
   },
   // 鏁欏璧勬簮 浜戝涔� 鑾峰彇
   getResourceDataList(type) {
@@ -909,7 +949,7 @@
     let query = {
       path: '*',
       queryType: '*',
-      storeInfo: this.data.options.storeInfo,
+      // storeInfo: this.data.options.storeInfo,
       productId: this.data.bookDetail.id,
       cmsPath: type.productLinkPath,
       cmsType: '*',
@@ -933,6 +973,7 @@
       },
     }
     app.MG.store.getProductDetailNoChildren(query).then((res) => {
+      console.log('鏈鐞嗚祫婧�', res.datas.cmsDatas[0].datas);
       if (!res.datas.cmsDatas[0].datas.length) {
         return this.setData({
           noResources: true,
@@ -940,88 +981,82 @@
         });
       }
       let list = []
-      // 娴嬭瘯 6浣�// 姝e紡 5浣�//  娴嬭瘯璋冪敤浼�20锛屽唴閮�7  姝e紡璋冪敤浼�17 鍐呴儴浼�6
-      //鏁欏璧勬簮 浜戝涔�
-      if (
-        type.refCode == "jsek_teachingResources" ||
-        type.refCode == "jsek_cloudLearning"
-      ) {
-        res.datas.cmsDatas[0].datas.forEach((item) => {
-          item.checked = false;
-          if (item.sysType == 'CmsItem') {
-            // 鏁欏璧勬簮 绫诲瀷鍚嶇О璧嬪��
-            this.data.resourceClassList.forEach((type) => {
-              if (type.value == item.resourcesClassification)
-                item.resourceClass = type.name;
-            });
-            if (this.data.tabValue == "jsek_teachingResources") {} else if (this.data.tabValue == "jsek_cloudLearning") {
-              item.isbuy = this.isShowNeedBuy(item);
-              item.isShopCar = this.isShoppingCart(item);
-            }
-          }
+      // 鍒ゆ柇浜戝涔犳湁鏃犻攢鍞柟寮忓拰鏈夋晥鏈�
+      const cloundSaleMethod =
+        type.saleMethod && type.saleMethod.length ?
+        type.saleMethod.find((citem) => citem.SaleType == 'Normal') :
+        null
+      let flags =
+        type.refCode == 'jsek_cloudLearning' &&
+        cloundSaleMethod &&
+        new Date().getTime() <= new Date(cloundSaleMethod.EndDate).getTime() &&
+        new Date().getTime() >= new Date(cloundSaleMethod.BeginDate).getTime()
+      res.datas.cmsDatas[0].datas.forEach((item) => {
+        // 浜戝涔犱笂鏈夐攢鍞柟寮忥紝鍘绘帀浜戝涔犱笅鎵�鏈夐攢鍞柟寮�
+        if (flags) item.saleMethod = []
+        item.checked = false;
+        if (item.sysType == 'CmsItem') {
+          // 鏁欏璧勬簮 绫诲瀷鍚嶇О璧嬪��
+          this.data.resourceClassList.forEach((type) => {
+            if (type.value == item.resourcesClassification)
+              item.resourceClass = type.name;
+          });
+          // if (this.data.tabValue == "jsek_teachingResources") {} else if (this.data.tabValue == "jsek_cloudLearning") {
+          //   item.isbuy = this.isShowNeedBuy(item);
+          //   item.isShopCar = this.isShoppingCart(item);
+          // }
+        }
+      });
+      // 鍒ゆ柇澶勭悊璧勬簮
+      if (res.datas.cmsDatas[0].datas.some((item) => item.sysType == 'CmsFolder')) {
+        if (!res.datas.cmsDatas[0].datas.some((item) => item.sysType == 'CmsItem')) {
+          // 1.鍙湁鐩綍锛屾病鏈夎祫婧�
+          list = res.datas.cmsDatas[0].datas
+        } else {
+          this.getTreeList(res.datas.cmsDatas[0].datas, list, query.cmsPath)
+          list = this.ensureTreeConsistency(list)
+          list = this.changeResourceChildren(list)
+        }
+      } else {
+        // 3.鍙湁璧勬簮锛屾病鏈夌洰褰�
+        list = res.datas.cmsDatas[0].datas
+      }
+      let result = [];
+      if (type.refCode == "jsek_teachingResources") {
+        this.findChildIds(list, result);
+        this.setData({
+          openTeachids: result,
+          loading: false,
+          teach: list,
         });
-        if (type.refCode == "jsek_cloudLearning") {
-          this.setData({
-            learnPath: type.productLinkPath
-          })
-          const dataList = res.datas.cmsDatas[0].datas
-          // 鍏堝垽鏂槸鍚﹀惁涔颁簯瀛︿範鏁翠釜鐩綍
-          let couldId = null
-          let codeData = null
-          if (this.data.resourceCodeList.length) {
-            codeData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning')
-            if (codeData && codeData.saleMethod && codeData.saleMethod.length)
-              couldId = codeData.saleMethod[0].Id
-          }
-          if (couldId) {
-            this.setData({
-              isGoBuyResource: this.data.buyIdList.indexOf(couldId) > -1 ? false : true
-            })
-          } else if (dataList.length) {
-            const tag = dataList.findIndex(item => item.saleMethod.length && item.saleMethod[0].Price > 0)
-            this.setData({
-              isGoBuyResource: tag > -1 ? true : false
-            })
-          } else {
-            this.setData({
-              isGoBuyResource: false
-            })
-          }
-        }
-        const addNum = query.cmsPath.length > 10 ? 7 : query.cmsPath.length > 13 ? 8 : 6
-        const num = query.cmsPath.length + addNum
-        this.getTreeList(res.datas.cmsDatas[0].datas, num, list, '\\')
-        list = this.ensureTreeConsistency(list)
-        list = this.changeResourceChildren(list)
-        let result = [];
-        if (type.refCode == "jsek_teachingResources") {
-          this.findChildIds(list, result);
-          // const newUSeList = this.deleteTreeData(list, result)
-          // console.log('鏍戝墧闄�', result, newUSeList);
-          // console.log('鏍戝姞涓�', this.increaseTreeData(list, newUSeList, 16094));
-          this.setData({
-            openTeachids: result,
-            loading: false,
-            teach: list,
-          });
-        } else if (type.refCode == "jsek_cloudLearning") {
-          let arr = this.handleTreeData(list).filter(
-            (item) => item.saleMethod[0]
-          );
-          let freeIds = arr.filter((item) => {
-            return item.saleMethod[0].Price == 0;
-          });
-          if (!freeIds.length)
-            this.setData({
-              isshowDrawBtn: false,
-            });
-          this.findChildIds(list, result);
-          this.setData({
-            learn: list,
-            loading: false,
-            openLearnids: result,
-          });
-        }
+      } else if (type.refCode == "jsek_cloudLearning") {
+        // 浜戝涔犱笂鏃犻攢鍞柟寮忥紝璧扮洰褰� 璧勬簮 閿�鍞柟寮忓幓闄ゆ柟娉�
+        if (!flags) list = this.clearTreeSealmethod(false, list)
+        // 鍒ゆ柇棰嗗彇鏌ョ湅鏄惁鏄剧ず(浜戝涔狅紝鎴栬祫婧愮洰褰曪紝鏈夊敭浠蜂负0)
+        let isshowDrawBtn = res.datas.cmsDatas[0].datas.some(
+          (item) =>
+          item.saleMethod.length &&
+          item.saleMethod.find((citem) => citem.SaleType == 'Normal').Price == 0 &&
+          new Date(item.saleMethod.find((citem) => citem.SaleType == 'Normal').EndDate).getTime() >= new Date().getTime() &&
+          new Date(item.saleMethod.find((citem) => citem.SaleType == 'Normal').BeginDate).getTime() <= new Date().getTime()
+        ) || (flags && cloundSaleMethod.Price == 0)
+        // 鍒ゆ柇浜戝涔犲叏閮ㄨ喘涔版寜閽槸鍚︽樉绀�
+        let isShowBuyCloundMenu = flags && cloundSaleMethod.Price >= 0
+        // 鍒ゆ柇璐墿杞︽寜閽拰閿佹寜閽槸鍚︽樉绀�
+        this.handleTreeData(list).forEach(item => {
+          item.isbuy = this.resourceIsBuy(item);
+          item.isShopCar = this.isShoppingCart(item);
+        })
+        this.findChildIds(list, result);
+        this.setData({
+          isshowDrawBtn,
+          isShowBuyCloundMenu,
+          isCloundHaveSaleMethod: flags,
+          learn: list,
+          loading: false,
+          openLearnids: result,
+          learnPath: type.productLinkPath
+        });
       }
     })
   },
@@ -1100,11 +1135,7 @@
             }
             if (data.length > 0) {
               let list = []
-              // 娴嬭瘯 6浣�// 姝e紡 5浣�//  娴嬭瘯璋冪敤浼�20锛屽唴閮�7  姝e紡璋冪敤浼�17 鍐呴儴浼�6
-
-              const addNum = query.cmsPath.length > 10 ? 7 : query.cmsPath.length > 13 ? 8 : 6
-              const num = query.cmsPath.length + addNum
-              that.getTreeList(data, num, list, '\\')
+              that.getTreeList(data, list, query.cmsPath)
               list = that.ensureTreeConsistency(list)
               that.findChildIds(list[0].children, result);
               that.setData({
@@ -1125,91 +1156,7 @@
         console.log(e);
       });
   },
-  // 鑾峰彇tag涓嬫墍鏈夎祫婧�
-  async getAllResource(data) {
-    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);
-      }
-    }
-    return data;
-  },
-  // 鑾峰彇璧勬簮鎺ュ彛
-  async getFolderItem(path) {
-    let query = {
-      path: "*",
-      queryType: "*",
-      storeInfo: this.data.options.storeInfo,
-      productId: this.data.bookDetail.id,
-      cmsPath: path,
-      itemFields: {
-        SysType: "CmsFolder",
-        // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
-        selectType: [],
-        freeFile: [],
-        file: [],
-        protectedFile: [],
-        resourcesClassification: [],
-        isDownload: [],
-        jsek_resourceBrief: [],
-        jsek_link: [],
-        accessType: [],
-        learnSelectType: [],
-      },
-      pading: {
-        start: 0,
-        size: 999,
-      },
-    };
-    let data = await app.MG.store.getProductDetail(query);
-    // 濡傛灉item灞傜骇閲屾湁floder锛屽垹闄loder
-    const flag = data.datas.cmsDatas[0].datas.findIndex(
-      (item) => item.sysType == "CmsItem"
-    );
-    if (flag > -1)
-      data.datas.cmsDatas[0].datas = data.datas.cmsDatas[0].datas.filter(
-        (item) => item.sysType == "CmsItem"
-      );
-    data.datas.cmsDatas[0].datas.forEach((item) => {
-      //   if (item.sysType == "CmsFolder" && flag > -1) {
-      //     item.isShow = false;
-      //   } else {
-      //     item.isShow = true;
-      //   }
-      this.data.resourceClassList.forEach((type) => {
-        if (type.value == item.resourcesClassification)
-          item.resourceClass = type.name;
-      });
-      // 缃戦〉 涓嶈兘涓嬭浇 绉佹湁鏂囦欢
-      if (item.sysType == "CmsItem") {
-        if (item.selectType == "webpage") {
-          item.disabled = true;
-        } else {
-          if (item.isDownload != 1) {
-            item.disabled = true;
-          }
-        }
-        if (item.file && item.fileMap && item.fileMap[item.file]) {
-          if (item.fileMap[item.file].protectType == "Private")
-            item.disabled = true;
-        }
-      }
-    });
-    data.datas.cmsDatas[0].datas.forEach((item) => {
-      if (this.data.tabValue == "jsek_teachingResources") {
-        item.checked = false;
-      } else if (this.data.tabValue == "jsek_cloudLearning") {
-        item.checked = false;
-        item.isbuy = this.isShowNeedBuy(item);
-        item.isShopCar = this.isShoppingCart(item);
-      }
-    });
-    return data.datas.cmsDatas[0].datas;
-  },
+
   // 鑾峰彇灞曞紑椤�
   findChildIds(data, result) {
     let index = 0
@@ -1386,7 +1333,6 @@
               applyState: "Normal",
               deadline: "姘镐箙",
             });
-            console.log("鏈夋晥鏃ユ湡", this.data.deadline);
           } else {
             let endTime = new Date(endDate + " 23:59:59").getTime();
             this.setData({
@@ -1638,20 +1584,26 @@
   },
   // 鍒ゆ柇璧勬簮鏄惁璐拱
   resourceIsBuy(data) {
-    let couldId = null
-    let codeData = null
-    if (this.data.resourceCodeList.length) {
-      codeData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning')
-      if (codeData && codeData.saleMethod && codeData.saleMethod.length)
-        couldId = codeData.saleMethod[0].Id
-    }
-    if (couldId) {
-      return this.data.buyIdList.indexOf(couldId) > -1 ? false : true
-    } else if (data.saleMethod && data.saleMethod.length) {
-      const isSHow = this.data.buyIdList.some(
-        (item) => item == data.saleMethod[0].Id
+    if (data.saleMethod && data.saleMethod.length) {
+      const saleData = data.saleMethod.find((item) => item.SaleType == 'Normal')
+      if (saleData.State == 'Disable') return false
+      const isShow = this.data.buyIdList.some(
+        (item) => item == saleData.Id
       );
-      return !isSHow;
+      // 宸茬粡璐拱
+      if (isShow) return false
+      // 鏈喘涔帮紝鏌ョ湅閿�鍞柟寮忔槸鍚﹁繃鏈�
+      if (!isShow) {
+        const flag = new Date(saleData.EndDate).getTime() >= new Date().getTime() &&
+          new Date(saleData.BeginDate).getTime() <= new Date().getTime()
+        if (flag) {
+          // 涓鸿繃鏈� 锛岄渶瑕佽喘涔�
+          return true
+        } else {
+          // 宸茶繃鏈� 鏃犻渶璐拱
+          return false
+        }
+      }
     } else {
       return false;
     }
@@ -1693,30 +1645,31 @@
   },
   // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀�
   isShoppingCart(data) {
-    let couldId = null
-    let codeData = null
-    if (this.data.resourceCodeList.length) {
-      codeData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning')
-      if (codeData && codeData.saleMethod && codeData.saleMethod.length)
-        couldId = codeData.saleMethod[0].Id
-    }
-    if (couldId) {
-      return this.data.buyIdList.indexOf(couldId) > -1 ? false : true
-    } else if (data.saleMethod && data.saleMethod.length) {
-      if (data.saleMethod[0].Price <= 0) return false;
+    if (data.saleMethod && data.saleMethod.length) {
+      const saleData = data.saleMethod.find((item) => item.SaleType == 'Normal')
+      // 鍏堝垽鏂槸鍚﹀厤璐�
+      if (saleData.Price <= 0) return false
       // 鍐嶅垽鏂槸鍚﹁喘涔�
-      const isBuy = this.data.buyIdList.some(
-        (item) => item == data.saleMethod[0].Id
-      );
+      const isBuy = this.data.buyIdList.some((item) => item == saleData.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 == saleData.Id)
+        if (isShow) return false
+        // 鏈喘涔帮紝鏌ョ湅閿�鍞柟寮忔槸鍚﹁繃鏈�
+        if (!isShow) {
+          const flag = new Date(saleData.EndDate).getTime() >= new Date().getTime() &&
+            new Date(saleData.BeginDate).getTime() <= new Date().getTime()
+          if (flag) {
+            // 涓鸿繃鏈� 锛岄渶瑕佽喘涔�
+            return true
+          } else {
+            // 宸茶繃鏈� 鏃犻渶璐拱
+            return false
+          }
+        }
       }
     } else {
       return false;
@@ -1750,7 +1703,7 @@
         flattenedArray.push(...childrenArray);
       }
     });
-    return flattenedArray.filter((item) => item.sysType == "CmsItem");
+    return flattenedArray;
   },
   // 浜戝涔犱竴閿鍙�
   async getFreeResource() {
@@ -1765,19 +1718,34 @@
           // 鍑虹幇閿欒锛岃繑鍥瀎alse
         }
       });
+    }
+    // 棰嗗彇鏌ョ湅 锛屽厛鐪嬩簯瀛︿範涓婄殑  鍐嶇湅璧勬簮涓婄殑
+    const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning')
+    const cloundMenuSaleMethod =
+      cloundMenu.saleMethod && cloundMenu.saleMethod.length ?
+      cloundMenu.saleMethod.find((ditem) => ditem.SaleType == 'Normal') :
+      undefined
+    let query = {}
+    if (this.data.isCloundHaveSaleMethod && !cloundMenuSaleMethod.Price) {
+      // 浜戝涔犱笂鏈夐攢鍞柟寮忥紝涓斾负0鍏冿紝鐩存帴棰嗗彇浜戝涔�
+      query = {
+        remarks: '浜戝涔�',
+        requests: [{
+          saleMethodId: cloundMenuSaleMethod.Id,
+          count: 1
+        }]
+      }
     } else {
-      let arr = this.handleTreeData(this.data.learn).filter((item) =>
-        this.resourceIsBuy(item)
-      );
+      // 棰嗗彇璧勬簮
+      let arr = this.handleTreeData(this.data.learn).filter(item => this.resourceIsBuy(item))
       let freeIds = arr.filter((item) => {
-        return item.saleMethod[0].Price == 0;
-      });
+        return item.saleMethod.find((citem) => citem.SaleType == 'Normal').Price == 0
+      })
       if (!freeIds.length)
         return wx.showToast({
           icon: "error",
           title: "鏆傛棤鍏嶈垂璧勬簮",
         });
-      child.changeReceive(true);
       let requests = [];
       freeIds.forEach((item, index) => {
         if (this.resourceIsBuy(item)) {
@@ -1787,34 +1755,35 @@
           });
         }
       });
-      let query = {
+      query = {
         remarks: "浜戝涔�",
         requests,
       };
-      try {
-        const initOrderRes = await app.MG.store.initOrder(query);
-        let parameter = {
-          orderNum: initOrderRes.orderNumber,
-        };
-        // 纭璁㈠崟
-        const confirmOrderRes = await app.MG.store.confirmOrder(parameter);
-        if (confirmOrderRes.orderNumber) {
-          child.changeReceive(false);
-          wx.showToast({
-            title: "棰嗗彇鎴愬姛",
-          });
-          this.getBookInfo(this.data.bookId);
-          this.getResourceDataList({
-            refCode: 'jsek_cloudLearning',
-            productLinkPath: this.data.learnPath
-          })
-          this.setData({
-            successOrderNumber: confirmOrderRes.orderNumber
-          })
-        }
-      } catch (error) {
-        console.log(error);
+    }
+    child.changeReceive(true);
+    try {
+      const initOrderRes = await app.MG.store.initOrder(query);
+      let parameter = {
+        orderNum: initOrderRes.orderNumber,
+      };
+      // 纭璁㈠崟
+      const confirmOrderRes = await app.MG.store.confirmOrder(parameter);
+      if (confirmOrderRes.orderNumber) {
+        child.changeReceive(false);
+        wx.showToast({
+          title: "棰嗗彇鎴愬姛",
+        });
+        this.getBookInfo(this.data.bookId);
+        this.getResourceDataList({
+          refCode: 'jsek_cloudLearning',
+          productLinkPath: this.data.learnPath
+        })
+        this.setData({
+          successOrderNumber: confirmOrderRes.orderNumber
+        })
       }
+    } catch (error) {
+      console.log(error);
     }
   },
   // 浜戝涔犱竴閿喘涔�
@@ -1829,7 +1798,8 @@
         },
       });
     }
-    let shopList = this.handleTreeData(this.data.learn).filter((item) =>
+    let shopList = this.handleTreeData(this.data.learn).filter(item => item.cmsType == 'cmsItem')
+    shopList = shopList.filter((item) =>
       this.resourceIsBuy(item)
     );
     this.getShoppingCartProductGet();
@@ -1865,6 +1835,11 @@
         title: "璇烽噸璇�",
       });
     }
+  },
+  // 浜戝涔犲瓧娈佃喘涔�
+  async buyCloundMenu() {
+    const cloundData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning')
+
   },
   // 鍙樹负鎵�鏈塩heck   true
   findAndUpdateItemsByIds(tree, ids) {
@@ -2202,7 +2177,6 @@
           }
         });
         const smBook = list.find(item => item.content[0].id == this.data.bookDetail.id)
-        console.log('宸茬敵璇�', smBook);
         if (smBook && smBook.state == 'Normal') {
           const flag = new Date(smBook.feedBack.endDate + ' 23:59:59').getTime() > new Date().getTime()
           if (flag) {
@@ -2570,7 +2544,6 @@
     return childrenList
   },
   uploadFile(e) {
-    console.log(123)
     this.setData({
       dialogBox: true,
       isShowUp: true
@@ -2579,6 +2552,12 @@
   closeDialog() {
     this.setData({
       dialogBox: false,
+      resourceInfo: {
+        resourceName: '',
+        fileType: '',
+        description: '',
+        agree: false
+      },
     });
   },
   onCloseProtocol() {
@@ -2617,14 +2596,29 @@
 
   },
   onNameInput(e) {
-    console.log(e.detail.value)
     this.setData({
       'resourceInfo.resourceName': e.detail.value,
     });
   },
-  onFileTypeInput(e) {
+  onResourcePicker(e) {
     this.setData({
-      'resourceInfo.fileType': e.detail.value,
+      resourceValue: [this.data.resourceInfo.fileType],
+      resourceVisible: true,
+    });
+  },
+  onPickerChange(e) {
+    const {
+      value
+    } = e.detail;
+    this.setData({
+      resourceVisible: false,
+      resourceValue: value,
+      'resourceInfo.fileType': value.join(' '),
+    });
+  },
+  onPickerCancel(e) {
+    this.setData({
+      resourceVisible: false,
     });
   },
   textareaChange(e) {
@@ -2665,6 +2659,7 @@
         const pdfData = ['pdf']
         const Compression = ['rar', 'zip']
         const pictureData = ['jpg', 'png']
+        const documentData = ['doc', 'docx', 'xls', 'xlsx', "ppt", "pptx"]
         if (audioData.indexOf(Extension) > -1) {
           medioType = '闊抽'
         } else if (videoData.indexOf(Extension) > -1) {
@@ -2675,6 +2670,8 @@
           medioType = '璧勬簮鍖�'
         } else if (pictureData.indexOf(Extension) > -1) {
           medioType = '鍥剧墖'
+        } else if (documentData.indexOf(Extension) > -1) {
+          medioType = '鏂囨。'
         } else {
           medioType = '鍏朵粬'
         }
@@ -2718,6 +2715,7 @@
                     that.setData({
                       "resourceInfo.resourceName": FileName,
                       "resourceInfo.fileType": medioType,
+
                       fileList: file,
                       isShowUp: false
                     })
@@ -2732,15 +2730,9 @@
 
   },
   handleRemove(e) {
-    console.log(e)
-    let md5 = e.currentTarget.dataset.md5
-    for (let i = 0; i < this.data.fileList.length; i++) {
-      if (this.data.fileList.md5 == md5) {
-        this.data.fileList.splice(i, 1)
-      }
-    }
     this.setData({
       isShowUp: true,
+      fileList: []
     });
   },
   confirmM() {
@@ -2753,7 +2745,7 @@
     if (this.data.resourceInfo.fileType == '') {
       return wx.showToast({
         icon: "error",
-        title: "璇峰~鍐欒祫婧愮被鍨�",
+        title: "璇烽�夋嫨璧勬簮绫诲瀷",
       });
     }
 
@@ -2783,9 +2775,18 @@
         icon: "success",
         title: "璇蜂笂浼犺祫婧愭枃浠�",
       });
-      this.setData({
-        dialogBox: false,
-      });
+      this.closeDialog()
+    })
+  },
+  getCloundIsBuy() {
+    let flag = false
+    if (!this.data.isCloundHaveSaleMethod) flag = false
+    const cloundData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning')
+    const saleData = cloundData.saleMethod.find(item => item.SaleType == "Normal")
+    if (!saleData) flag = false
+    flag = this.data.buyIdList.some(item => item == saleData.Id)
+    this.setData({
+      cloundMenuIsBuy: flag
     })
   }
 })
\ No newline at end of file

--
Gitblit v1.9.1