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 | 2969 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 2,022 insertions(+), 947 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index b538001..44051f6 100644
--- a/packageBookService/pages/bookServices/detail/index.js
+++ b/packageBookService/pages/bookServices/detail/index.js
@@ -1,29 +1,38 @@
 // pages/bookServices/detail/index.js
-import Message from 'tdesign-miniprogram/message/index.js';
-import Toast from 'tdesign-miniprogram/toast';
-import tool from '../../../../assets/js/toolClass'
+import Toast from "tdesign-miniprogram/toast";
+import tool from "../../../../assets/js/toolClass";
+import moment from 'moment'
+import {
+  loginInfo
+} from "../../../../assets/js/login";
+import FormData from '../../../../utils/formdata/index.js';
 const app = getApp();
 Page({
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-    bookId: '',
-    barHeight: '',
-    navBarHeight: '',
+    // 杩涢〉闈㈤粯璁ゅ垏鎹�  灞曞紑鐨刬d
+    // defaultactiveTeachid  鏁欏璧勬簮  
+    // defaultactiveLearnid  浜戝涔�
+    bookId: "",
+    barHeight: "",
+    navBarHeight: "",
     options: {
-      id: '',
-      name: '',
+      id: "",
+      name: "",
+      storeInfo: '',
     },
     bookDetail: {},
+    bookClass: [],
     bookItemDetail: {},
     link: {
-      jd: '',
-      tamll: '',
-      dang: '',
-      micro: '',
+      jd: "",
+      tamll: "",
+      dang: "",
+      micro: "",
     },
-    tabValue: 'brief',
+    tabValue: "brief",
     cmsDatas: [], // 璧勬簮refCode鍒楄〃
     ids: [1],
     list: [],
@@ -31,33 +40,47 @@
     teach: [],
     learn: [],
     test: [],
+    jslx: true,
     openTeachids: [],
     openLearnids: [],
     openTestids: [],
+    isGoBuyResource: true,
+    learnPath: '',
+    applyResourceState: false, // 鐢宠鏁欏璧勬簮鎸夐挳闃叉姈
     resourceClassList: [], // 璧勬簮鎵�灞炲垎绫�
-    applyState: "",  // 鏁欏璧勬簮鐢宠鐘舵��
-    deadline: "",  // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡
-    rejectCause: "",  // 涓嬭浇鎷掔粷鍘熷洜
+    applyState: "", // 鏁欏璧勬簮鐢宠鐘舵��
+    deadline: "", // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡,
+    isshowDrawBtn: true, // 浜戝涔犻鍙栨煡鐪嬫寜閽槸鍚︽樉绀�
+    isShowBuyCloundMenu: false, //   浜戝涔犲叏閮ㄨ喘涔版寜閽槸鍚︽樉绀�
+    isCloundHaveSaleMethod: false, // 浜戝涔犳槸鍚︽湁閿�鍞柟寮� 
+    cloundMenuIsBuy: false,
+    rejectCause: "", // 涓嬭浇鎷掔粷鍘熷洜
     buyIdList: [],
     shoppingCartGetId: [], // 宸茶喘涔癷d鍒楄〃
     shoppingList: [],
     loading: false,
-    isShowTeachDownload: false,  // 鎻愮ずPC涓嬭浇寮圭獥鐘舵��
-    confirmBtn: { content: '鎴戠煡閬撲簡', variant: 'base' },
+    isShowTeachDownload: false, // 鎻愮ずPC涓嬭浇寮圭獥鐘舵��
+    confirmBtn: {
+      content: "鎴戠煡閬撲簡",
+      variant: "base",
+    },
     mockData: {
       id: 0, // 閿�鍞甶d
       price: 0, // 鍞环
       count: 0, // 缁勫嵎宸茶喘涔版鏁�
       useCount: 0, // 缁勪欢宸蹭娇鐢ㄦ鏁�
       residue: 0, // 缁勫嵎鍓╀綑娆℃暟
-      mockList: [] // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅
+      mockList: [], // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅
     },
+    relatedBookLoading: false,
+    noRelatedBookData: false,
+    relatedBookPath: "", // 鐩稿叧鍥句功path
+    relatedBookData: [], // 鐩稿叧鍥句功鍒楄〃
     flag: true,
-    applyResourceLoading: false,
     noResources: false,
-    selectedIds: "",//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮�
+    selectedIds: "", //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮�
     bookBuy: false, //鍟嗗搧鎴栧瓙鍟嗗搧鏄惁璐拱
-    expire: false,//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈�
+    expire: false, //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈�
     noFile: false, //鍟嗗搧鎴栧瓙鍟嗘湁鏃犵數瀛愪功鏂囦欢
     num: 0, //鏍蜂功鐢宠鍗曟暟閲�
     alreadyPaperBookList: [], //宸茬敵璇风焊璐ㄦ牱涔�
@@ -66,25 +89,131 @@
     electronicBookList: [], //鏍蜂功鍗曠數瀛愪功
     paperBookCount: 0, //绾歌川涔﹀墿浣欐鏁�
     ebookCount: 0, //鐢靛瓙涔﹀墿浣欐鏁�
+    resourceCodeList: [], // 璧勬簮refcode鍒楄〃
     userInfo: {},
+    pageLoading: true,
     fileInfo: {
       bookName: "",
       fileType: "",
       md5: "",
-      freePage: ""
-    },  //闃呰鍣ㄦ暟鎹�
+      freePage: "",
+    }, //闃呰鍣ㄦ暟鎹�
     buyResourceData: {
-      productLinkPath: '',
-      refCode: '',
-    }
+      productLinkPath: "",
+      refCode: "",
+    },
+    briefIcon: {
+      name: "/static/images/bookService/detail/tushujianjie-g.png",
+    },
+    briefIconClick: {
+      name: "/static/images/bookService/detail/tushujianjie-click.png",
+    },
+    eBookIcon: {
+      name: "/static/images/bookService/detail/ebook-g.png",
+    },
+    eBookClickIcon: {
+      name: "/static/images/bookService/detail/ebook-click.png",
+    },
+    teachResourcesIcon: {
+      name: "/static/images/bookService/detail/jiaoxueziyuan.png",
+    },
+    teachResourcesClickIcon: {
+      name: "/static/images/bookService/detail/jiaoxueziyuan-click.png",
+    },
+    learnResourceIcon: {
+      name: "/static/images/bookService/detail/yunxuexi.png",
+    },
+    learnResourceClickIcon: {
+      name: "/static/images/bookService/detail/yunxuexi-click.png",
+    },
+    testResourceIocn: {
+      name: "/static/images/bookService/detail/test-icon-g.png",
+    },
+    testResourceClickIocn: {
+      name: "/static/images/bookService/detail/test-click-icon.png",
+    },
+    noteIcon: {
+      name: "/static/images/bookService/detail/biji-icon-g.png",
+    },
+    noteClickIcon: {
+      name: "/static/images/bookService/detail/biji-click-icon.png",
+    },
+    linkIcon: {
+      name: "/static/images/bookService/detail/link.png",
+    },
+    linkClickIcon: {
+      name: "/static/images/bookService/detail/link-click.png",
+    },
+    icon1: {
+      name: "/static/images/bookService/detail/dangdang.png",
+    },
+    rowCol: [{
+        width: '50%',
+      },
+      {
+        width: '100%'
+      },
+      {
+        width: '80%'
+      },
+      {
+        width: '100%'
+      }, {
+        width: '100%'
+      },
+    ],
+    showIndex: '',
+    successOrderNumber: '',
+    applicationState: '', // 鐢靛瓙鏍蜂功鐢宠鐘舵��
+    dialogBox: false,
+    resourceInfo: {
+      resourceName: '',
+      fileType: '',
+      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,
+    protocolTxt: ''
   },
-
 
   resetTree: function (e) {
     this.setData({
       currentCheck: e.detail.checkedItem,
-      list: e.detail.changeList
-    })
+      list: e.detail.changeList,
+    });
   },
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
@@ -92,99 +221,92 @@
   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({
-      bookId: options.id,
+      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: 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('jsek-token')
+    // this.getResourceClass(); // 鑾峰彇璧勬簮鎵�灞炲垎绫�
+    token = wx.getStorageSync(app.config.tokenKey)
     if (token) {
-      this.getShoppingCartProductGet()
-      this.getApplyInfo(options.id)
-      this.getMockData()
+      this.getShoppingCartProductGet();
+      this.getApplyInfo(options.id);
+      this.getAlreadyPBookList();
+      this.getAlreadyEBookList();
     }
     if (wx.getStorageSync(app.config.userInfoKey)) {
       this.setData({
-        userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey))
-      })
+        userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)),
+      });
+      // 鑾峰彇鐢宠娆℃暟
+      this.getSelectPaperBookCount();
+      this.getSelectBookCount();
     }
-    if (wx.getStorageSync("paperBookList")) {
+    if (options.tabValue) {
       this.setData({
-        paperBookList: wx.getStorageSync("paperBookList"),
-      })
-    }
-    if (wx.getStorageSync("electronicBookList")) {
-      this.setData({
-        electronicBookList: wx.getStorageSync("electronicBookList"),
-      })
-    }
-    this.setData({
-      num: this.data.paperBookList.length + this.data.electronicBookList.length
-    })
-  },
+        tabValue: options.tabValue,
+      });
 
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
-   */
-  onReady() {
 
+    }
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
-  onShow() { },
-
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
-   */
-  onHide() { },
-
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
-   */
-  onUnload() { },
-
-  /**
-   * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
-   */
-  onPullDownRefresh() {
-
-
+  onShow() {
+    if (wx.getStorageSync("paperBookList")) {
+      this.setData({
+        paperBookList: JSON.parse(wx.getStorageSync("paperBookList")),
+      });
+    }
+    if (wx.getStorageSync("electronicBookList")) {
+      this.setData({
+        electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList")),
+      });
+    }
+    this.setData({
+      num: Number(this.data.paperBookList.length) + Number(this.data.electronicBookList.length),
+    });
   },
 
   /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   onReachBottom() {
-    if (this.data.tabValue == 'jsek_note') {
-      const child = this.selectComponent('#note')
-      child.onReachBottom()
+    if (this.data.tabValue == "jsek_note") {
+      const child = this.selectComponent("#note");
+      if (!child.data.noList) child.onReachBottom();
     }
   },
 
-  /**
-   * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
-   */
-  onShareAppMessage() { },
   // 鏍煎紡鍖栨棩鏈�
   formatDate(dateString) {
     if (!dateString) {
-      return 'Invalid date';
+      return "";
     }
-    const match = dateString.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
+    const match = dateString.match(
+      /^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/
+    );
     if (!match) {
-      throw new Error('Invalid date format');
+      throw new Error("Invalid date format");
     }
 
     const [, year, month, day, hours, minutes, seconds] = match;
@@ -194,11 +316,11 @@
       parseInt(day, 10),
       parseInt(hours, 10),
       parseInt(minutes, 10),
-      parseInt(seconds, 10),
+      parseInt(seconds, 10)
     );
 
     if (isNaN(date.getTime())) {
-      throw new Error('Invalid date');
+      throw new Error("Invalid date");
     }
 
     // 鐢变簬灏忕▼搴忕幆澧冨彲鑳戒笉鏀寔 Intl.DateTimeFormat锛屾垜浠娇鐢ㄧ畝鍖栫殑鏍煎紡鍖栨柟娉�
@@ -207,17 +329,32 @@
   },
   // 绠�鍖栫殑鏈堜唤鏍煎紡鍖栧嚱鏁帮紝杩斿洖鏈堜唤鐨勪腑鏂囪〃杈�
   formatMonth(month) {
-    const months = ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�'];
+    const months = [
+      "1鏈�",
+      "2鏈�",
+      "3鏈�",
+      "4鏈�",
+      "5鏈�",
+      "6鏈�",
+      "7鏈�",
+      "8鏈�",
+      "9鏈�",
+      "10鏈�",
+      "11鏈�",
+      "12鏈�",
+    ];
     return months[parseInt(month, 10) - 1];
   },
   // 閲戦鏄剧ず.00鏍煎紡
   numFormat(value) {
-    if (!value) return '0.00';
+    if (!value) return "0.00";
     value = Number(value).toFixed(2);
     var intPart = Math.trunc(value); // 鑾峰彇鏁存暟閮ㄥ垎
-    var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); // 灏嗘暣鏁伴儴鍒嗛�笁涓�鏂�
-    var floatPart = '.00'; // 棰勫畾涔夊皬鏁伴儴鍒�
-    var value2Array = value.split('.');
+    var intPartFormat = intPart
+      .toString()
+      .replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"); // 灏嗘暣鏁伴儴鍒嗛�笁涓�鏂�
+    var floatPart = ".00"; // 棰勫畾涔夊皬鏁伴儴鍒�
+    var value2Array = value.split(".");
     // =2琛ㄧず鏁版嵁鏈夊皬鏁颁綅
     if (value2Array.length === 2) {
       floatPart = value2Array[1].toString(); // 鎷垮埌灏忔暟閮ㄥ垎
@@ -230,22 +367,35 @@
   },
   // 杩斿洖
   goBack() {
-    wx.navigateBack();
+    let bookPathList = wx.getStorageSync("bookPathList");
+    if (bookPathList && JSON.parse(bookPathList).length) {
+      bookPathList = JSON.parse(bookPathList);
+      this.setData({
+        pageLoading: true,
+        tabValue: "brief",
+      });
+      this.onLoad(bookPathList[bookPathList.length - 1]);
+      bookPathList.pop();
+      wx.setStorageSync("bookPathList", JSON.stringify(bookPathList));
+    } else {
+      wx.navigateBack();
+    }
   },
   // 鑾峰彇鍥句功璇︽儏
   getBookInfo(id) {
     this.setData({
       "mockData'.id": 0,
       "mockData.price": 0,
-      "mockData.count": 0
-    })
+      "mockData.count": 0,
+    });
     const query = {
-      path: '*',
-      queryType: '*',
+      storeInfo: this.data.options.storeInfo,
+      path: "*",
+      queryType: "*",
       productId: id,
-      favoriteTypes: 'FavoriteBookCity',
+      favoriteTypes: "FavoriteBookCity",
       itemFields: {
-        'SysType=': 'CmsFolder',
+        "SysType=": "CmsFolder",
       },
       coverSize: {
         height: 300,
@@ -262,6 +412,7 @@
         dangdangLink: [],
         weidianLink: [],
         content: [],
+        catalogue: [],
         authorIntroduction: [],
         // isApplyPaperBook: [],
         // isApplyEBook: [],
@@ -274,61 +425,121 @@
       },
     };
     app.MG.store.getProductDetail(query).then(async (res) => {
+      this.getResourceCode(id, res.datas.rootCmsItemId)
       this.setData({
         bookDetail: res.datas,
-        cmsDatas: res.datas.cmsDatas[0].datas,
-        buyIdList: res.datas.purchasedSaleMethodIdList
+        buyIdList: res.datas.purchasedSaleMethodIdList,
+        pageLoading: false
       });
+      if (res.datas.cmsDatas && res.datas.cmsDatas.length) {
+        this.setData({
+          cmsDatas: res.datas.cmsDatas[0].datas,
+        })
+      }
+      if (res.datas.datas.ProductLinkInfo) {
+        if (JSON.parse(res.datas.datas.ProductLinkInfo).length) this.setData({
+          relatedBookPath: JSON.parse(res.datas.datas.ProductLinkInfo)[0]
+            .LinkPath,
+        })
+      }
       this.getSubTtem();
       // 鑾峰彇鍥句功鍒嗙被
-      const iconType = JSON.parse(res.datas.bookClassification)[0][0];
-      const classType = JSON.parse(res.datas.bookClassification)[0][1];
-      const className = await this.getBookClass(iconType, classType)
+      if (res.datas.bookClassification) {
+        let classData = []
+        const bookClassification = JSON.parse(res.datas.bookClassification);
+        if (Array.isArray(bookClassification) && bookClassification.length) {
+          for (let index = 0; index < bookClassification.length; index++) {
+            const element = bookClassification[index];
+            const iconType = element[0];
+            const classType = element[1];
+            classData.push({
+              iconType,
+              classType
+            })
+          }
+          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) {
         res.datas.saleMethod.forEach((item) => {
-          if (item.SaleType == 'combinationTestPaper') {
+          if (item.SaleType == "combinationTestPaper") {
             this.setData({
-              'mockData.id': item.Id,
-              'mockData.price': item.Price
-            })
+              "mockData.id": item.Id,
+              "mockData.price": item.Price,
+            });
           }
-        })
+        });
       }
       // 鑾峰彇缁勫嵎宸茶喘涔版鏁�
-      if (res.datas.purchasedSaleMethodIdList && res.datas.purchasedSaleMethodIdList.length) {
+      if (
+        res.datas.purchasedSaleMethodIdList &&
+        res.datas.purchasedSaleMethodIdList.length
+      ) {
         if (this.data.mockData.id) {
           let count = res.datas.purchasedSaleMethodIdList.filter(
             (item) => item == this.data.mockData.id
-          ).length
+          ).length;
           this.setData({
-            'mockData.count': count
-          })
+            "mockData.count": count,
+          });
         }
       }
       this.setData({
-        'bookDetail.publicationDate': this.formatDate(this.data.bookDetail.publicationDate),
-        'bookDetail.class': className,
-        'bookDetail.price': this.numFormat(this.data.bookDetail.price),
-        'bookDetail.oldPrice': this.numFormat(this.data.bookDetail.oldPrice),
-        'bookDetail.paperPrice': this.numFormat(this.data.bookDetail.paperPrice),
-      });
-      console.log('鍥句功淇℃伅', this.data.bookDetail);
-    });
+        "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(
+          this.data.bookDetail.paperPrice
+        ),
 
+      });
+    });
+  },
+  getResourceCode(bookId, cmsId) {
+    let query = {
+      path: '*',
+      queryType: '*',
+      productId: bookId,
+      cmsPath: cmsId,
+      itemFields: {
+        SysType: 'Cms'
+      },
+      pading: {
+        start: 99,
+        size: 0
+      }
+    }
+    app.MG.store.getProductDetail(query).then((res) => {
+      this.setData({
+        resourceCodeList: res.datas.cmsDatas[0].datas,
+      })
+      console.log('refcode', this.data.resourceCodeList);
+    })
   },
   //璇锋眰瀛愬晢鍝佺殑鏂囦欢
   getSubTtem() {
     const obj = {
-      path: '*',
-      queryType: 'SubProduct',
+      path: "*",
+      queryType: "SubProduct",
       sort: {
-        type: 'Desc',
-        field: 'CreateDate'
+        type: "Desc",
+        field: "CreateDate",
       },
       paging: {
         start: 0,
-        size: 6
+        size: 6,
       },
       mainProductId: this.data.bookDetail.id,
       fields: {
@@ -336,225 +547,420 @@
         bookshelf_pdf: [],
         bookshelf_protectedEpub: [],
         bookshelf_freeEpub: [], //epub璇曡鐧惧垎姣�
-        bookshelf_probationPage: [] //pdf璇曡椤垫暟
-      }
-    }
+        bookshelf_probationPage: [], //pdf璇曡椤垫暟
+      },
+    };
     app.MG.store.getProductList(obj).then((res) => {
       if (res.datas && res.datas.length > 0) {
         this.setData({
           bookItemDetail: res.datas[0],
           selectedIds: res.datas[0].defaultSaleMethod.id,
-          bookBuy: res.datas[0].purchasedSaleMethodIdList.indexOf(res.datas[0].defaultSaleMethodId) > -1
+          bookBuy: res.datas[0].purchasedSaleMethodIdList.indexOf(
+            res.datas[0].defaultSaleMethodId
+          ) > -1,
+          "bookDetail.price": this.numFormat(res.datas[0].price),
         });
-        console.log(this.data.bookItemDetail, 'bookItemData.value');
-        let times = new Date(res.datas[0].defaultSaleMethod.endDate).getTime()
-        let startTime = new Date(res.datas[0].defaultSaleMethod.beginDate).getTime()
+        let times = new Date(res.datas[0].defaultSaleMethod.endDate).getTime();
+        let startTime = new Date(
+          res.datas[0].defaultSaleMethod.beginDate
+        ).getTime();
+
         if (times < new Date().getTime() || new Date().getTime() < startTime) {
           this.setData({
-            expire: true
+            expire: true,
           });
         } else {
           this.setData({
-            expire: false
+            expire: false,
           });
         }
-        if (res.datas[0].bookshelf_pdf || res.datas[0].bookshelf_protectedEpub) {
+        if (
+          res.datas[0].bookshelf_pdf ||
+          res.datas[0].bookshelf_protectedEpub
+        ) {
           this.setData({
-            noFile: true
+            noFile: true,
           });
           if (res.datas[0].bookshelf_pdf) {
             this.setData({
               "fileInfo.bookName": this.data.bookDetail.name,
-              "fileInfo.fileType": 'pdf',
+              "fileInfo.fileType": "pdf",
               "fileInfo.md5": res.datas[0].bookshelf_pdf,
-              "fileInfo.freePage": res.datas[0].bookshelf_probationPage,
+              "fileInfo.freePage": res.datas[0].bookshelf_probationPage ? res.datas[0].bookshelf_probationPage : 30,
             });
           } else if (res.datas[0].bookshelf_protectedEpub) {
             this.setData({
               "fileInfo.bookName": this.data.bookDetail.name,
-              "fileInfo.fileType": 'epub',
+              "fileInfo.fileType": "epub",
               "fileInfo.md5": res.datas[0].bookshelf_protectedEpub,
-              "fileInfo.freePage": res.datas[0].bookshelf_freeEpub,
+              "fileInfo.freePage": res.datas[0].bookshelf_freeEpub ? res.datas[0].bookshelf_freeEpub : 30,
             });
           }
         }
       } else {
         if (this.data.bookDetail.pdf || this.data.bookDetail.protectedEpub) {
           this.setData({
-            noFile: true
+            noFile: true,
           });
           if (this.data.bookDetail.pdf) {
             this.setData({
               "fileInfo.bookName": this.data.bookDetail.name,
-              "fileInfo.fileType": 'pdf',
+              "fileInfo.fileType": "pdf",
               "fileInfo.md5": this.data.bookDetail.pdf,
-              "fileInfo.freePage": this.data.bookDetail.probationPage,
+              "fileInfo.freePage": this.data.bookDetail.probationPage ? this.data.bookDetail.probationPage : 30,
             });
           } else if (this.data.bookDetail.protectedEpub) {
+
             this.setData({
               "fileInfo.bookName": this.data.bookDetail.name,
-              "fileInfo.fileType": 'epub',
+              "fileInfo.fileType": "epub",
               "fileInfo.md5": this.data.bookDetail.protectedEpub,
-              "fileInfo.freePage": this.data.bookDetail.freeEpubPage,
+              "fileInfo.freePage": this.data.bookDetail.freeEpubPage ? this.data.bookDetail.freeEpubPage : 30,
             });
           }
         }
-        console.log(this.data.fileInfo, 456)
         this.setData({
           selectedIds: this.data.bookDetail.defaultSaleMethodId,
-          bookBuy: this.data.bookDetail.purchasedSaleMethodIdList.indexOf(this.data.bookDetail.defaultSaleMethodId) > -1
+          bookBuy: this.data.bookDetail.purchasedSaleMethodIdList.indexOf(
+            this.data.bookDetail.defaultSaleMethodId
+          ) > -1,
         });
-        let times = new Date(this.data.bookDetail.defaultSaleMethod.endDate).getTime()
-        let startTime = new Date(this.data.bookDetail.defaultSaleMethod.beginDate).getTime()
+        let times = new Date(
+          this.data.bookDetail.defaultSaleMethod.endDate
+        ).getTime();
+        let startTime = new Date(
+          this.data.bookDetail.defaultSaleMethod.beginDate
+        ).getTime();
         if (times < new Date().getTime() || new Date().getTime() < startTime) {
           this.setData({
-            expire: true
+            expire: true,
           });
         } else {
           this.setData({
-            expire: false
+            expire: false,
           });
         }
       }
-    })
+    });
   },
   // 鑾峰彇鍥句功鍒嗙被
-  async getBookClass(iconType, classType) {
-    let name = '';
+  async getBookClass(list) {
+    let name = "";
     const query = {
-      refCodes: ['bookClassification'],
+      refCodes: ["bookClassification"],
     };
     await app.MG.store.getProductTypeField(query).then((res) => {
-      JSON.parse(res[0].config).option.forEach((item) => {
-        if (item.value == iconType) {
-          item.child.forEach((citem) => {
-            if (citem.value == classType) {
-              name = citem.name;
+      for (let aindex = 0; aindex < list.length; aindex++) {
+        const aitem = list[aindex];
+        const iconType = aitem.iconType
+        const classType = aitem.classType
+        JSON.parse(res[0].config).option.forEach((item) => {
+          if (item.value == iconType) {
+            if (item.child && item.child.length) {
+              item.child.forEach((citem) => {
+                if (citem.value == classType) {
+                  const flag = this.data.bookClass.findIndex((ditem) => ditem == citem.name)
+                  if (flag == -1) {
+                    let list = this.data.bookClass
+                    list.push(citem.name)
+                    this.setData({
+                      bookClass: list
+                    })
+                  }
+                }
+              });
             }
-          });
-        }
-      });
+
+          }
+        });
+      }
+
     });
-    return name;
   },
   // 鏀惰棌
   setCollect() {
-    if (this.data.bookDetail.isFavourite) {
-      app.MG.store
-        .delProductLink({
-          productIds: [this.data.bookDetail.id],
-          linkType: 'FavoriteBookCity',
-        })
-        .then(() => {
-          this.setData({
-            'bookDetail.isFavourite': false
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (!token) {
+      // 妫�鏌ョ櫥褰曠姸鎬�
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue
+          this.getBookInfo(this.data.bookId);
+        } else {
+          // 鍑虹幇閿欒锛岃繑鍥瀎alse
+        }
+      });
+    } else {
+      if (this.data.bookDetail.isFavourite) {
+        app.MG.store
+          .delProductLink({
+            productIds: [this.data.bookDetail.id],
+            linkType: "FavoriteBookCity",
           })
-          Message.success({
-            context: this,
-            offset: [20, 32],
-            duration: 5000,
-            content: '杩欐槸涓�鏉℃垚鍔熺殑鎻愮ず娑堟伅',
+          .then(() => {
+            this.setData({
+              "bookDetail.isFavourite": false,
+            });
+          });
+      } else {
+        const params = {
+          productIds: [this.data.bookDetail.id],
+          linkType: "FavoriteBookCity",
+        };
+        app.MG.store.addProductLink(params).then((res) => {
+          this.setData({
+            "bookDetail.isFavourite": true,
           });
         });
-    } else {
-      const params = {
-        productIds: [this.data.bookDetail.id],
-        linkType: 'FavoriteBookCity',
-      };
-      app.MG.store.addProductLink(params).then((res) => {
-        this.setData({
-          'bookDetail.isFavourite': true
-        })
-        Message.success({
-          context: this,
-          offset: ['20rpx', '32rpx'],
-          duration: 2000,
-          content: '鏀惰棌鎴愬姛',
-        });
-      });
+      }
     }
   },
   // 鎴戣寤鸿
   suggestBtn() {
-    const child = this.selectComponent('#suggest-component')
-    child.showDialog()
+    // 妫�鏌ョ櫥褰曠姸鎬�
+    const token = wx.getStorageSync(app.config.tokenKey);
+    const child = this.selectComponent("#suggest-component");
+    if (token)
+      // child.showDialog();
+      this.setData({
+        showIndex: '1'
+      })
   },
   // 璺宠浆缃戝簵
   goShop(e) {
-    const { link } = e.currentTarget.dataset;
+    const {
+      link
+    } = e.currentTarget.dataset;
     wx.navigateTo({
-      url: `/packageBookService/pages/bookServices/webpage/index?url=${link}`,
-    })
+      url: `/packageBookService/pages/bookServices/linkPage/index?path=${link}`,
+    });
   },
+  // tag鍒囨崲
   onTabsChange(e) {
+    const token = wx.getStorageSync(app.config.tokenKey);
     this.setData({
       tabValue: e.detail.value,
-      noResources: false
-    })
-    if (e.detail.label == '鏁欏璧勬簮' || e.detail.label == '浜戝涔�' || e.detail.label == '浜戞祴璇�') {
-      const checkData = this.data.cmsDatas.find(item => item.refCode == e.detail.value)
+      noResources: false,
+    });
+    if (
+      e.detail.label == "鏁欏璧勬簮" ||
+      e.detail.label == "浜戝涔�" ||
+      e.detail.label == "浜戞祴璇�"
+    ) {
+      const checkData = this.data.cmsDatas.find(
+        (item) => item.refCode == this.data.tabValue
+      );
+      if (!this.data.resourceClassList.length) this.getResourceClass()
       if (checkData) {
-        if (e.detail.value == 'jsek_cloudLearning') {
+        if (e.detail.value == "jsek_cloudLearning") {
           this.setData({
-            'buyResourceData.productLinkPath': checkData.productLinkPath,
-            'buyResourceData.refCode': checkData.refCode
-          })
+            "buyResourceData.productLinkPath": checkData.productLinkPath,
+            "buyResourceData.refCode": checkData.refCode,
+          });
         }
-        if ((e.detail.value == 'jsek_teachingResources' && !this.data.teach.length)
-          || (e.detail.value == 'jsek_cloudLearning' && !this.data.learn.length)
-          || (e.detail.value == 'questionBank' && !this.data.test.length)) {
-          this.getResourceData(checkData)
+        // if (
+        //   (e.detail.value == "jsek_teachingResources" &&
+        //     !this.data.teach.length) ||
+        //   (e.detail.value == "jsek_cloudLearning" && !this.data.learn.length) ||
+        //   (e.detail.value == "questionBank" && !this.data.test.length)
+        // ) {
+        //   if (e.detail.value == "jsek_teachingResources") {
+        //     wx.setStorageSync('teachResourcesPath', checkData.productLinkPath)
+        //   }
+        //   this.getResourceData(checkData);
+        // }
+        if ((e.detail.value == "jsek_teachingResources" && !this.data.teach.length) || (e.detail.value == "jsek_cloudLearning" && !this.data.learn.length)) {
+          wx.setStorageSync('teachResourcesPath', checkData.productLinkPath)
+          this.getResourceDataList(checkData)
+        } else if (e.detail.value == "questionBank" && !this.data.test.length) {
+          this.getResourceData(checkData);
         }
+        if (e.detail.value == "questionBank" && token) this.getMockData();
       } else {
         this.setData({
-          noResources: true
-        })
+          noResources: true,
+        });
       }
-    } else if (e.detail.label == '浜戠瑪璁�') {
-      const token = wx.getStorageSync('jsek-token')
-      const child = this.selectComponent('#note')
-      child.handleSubmitTitle()
+    } else if (e.detail.label == "浜戠瑪璁�") {
+      const token = wx.getStorageSync(app.config.tokenKey);
+      const child = this.selectComponent("#note");
+      child.handleSubmitTitle();
       if (token) {
-        child.changeLoading()
-        child.getNoteList()
+        child.changeLoading();
+        child.getNoteList();
+      } else {
+        child.changeNoList();
       }
-
-    } else if (e.detail.label == '鐢靛瓙涔�') {
-      const child = this.selectComponent('#eBook')
+    } else if (e.detail.label == "鐢靛瓙涔�") {
+      const child = this.selectComponent("#eBook");
       if (child) {
-        child.getProgress()
+        child.getProgress();
       }
-
+    } else if (e.detail.label == "鐩稿叧鍥句功") {
+      this.getAboutBook(this.data.relatedBookPath);
     }
   },
   // 鑾峰彇璧勬簮鎵�灞炲垎绫�
   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,
+      });
+    });
   },
-  //  鑾峰彇鏁欏璧勬簮  浜戝涔�  浜戞祴璇�
-  getResourceData(type) {
+
+  // 鑾峰彇鎵�鏈夊瓙椤规暟閲�
+  getChildrenItem(data) {
+    let num = 0
+
+    function getNum(data) {
+      for (let index = 0; index < data.length; index++) {
+        const item = data[index];
+        if (item.sysType == 'CmsItem') {
+          num += 1
+        } else if (item.sysType == 'CmsFolder') {
+          if (item.children && item.children.length)
+            getNum(item.children)
+        }
+      }
+    }
+    getNum(data)
+    return num
+  },
+
+  // 缁欑洰褰曟坊鍔犲瓙椤规暟閲�
+  changeResourceChildren(list) {
+    const changeList = (list) => {
+      for (let index = 0; index < list.length; index++) {
+        const item = list[index];
+        if (item.sysType == 'CmsFolder' && item.children && item.children.length) {
+          item.childrenItem = this.getChildrenItem([item])
+          changeList(item.children)
+        } else if (item.sysType == 'CmsFolder' && item.children && !item.children.length) {
+          item.childrenItem = 0
+        } else if (item.sysType == 'CmsFolder' && !item.children) {
+          item.childrenItem = 0
+        }
+      }
+    }
+    changeList(list)
+    return list
+  },
+
+  // 鎵佸钩鍖栨暟鎹浆鎹ree
+  getTreeList(rootList, newArr, path) {
+    for (const item of rootList) {
+      if (path == item.productLinkPath.replace('\\' + item.id, '')) {
+        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
+          }
+        }
+        // newArr.push(item)
+        // 鍦ㄦ彃鍏ヨ繃绋嬩腑瀵规暟鎹繘琛屾帓搴�
+        newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item)
+        // 鎻掕繘鏁扮粍鍚� 浠庡師鏁版嵁涓垹闄�
+        rootList = rootList.filter(nitem => nitem.id != item.id)
+      }
+    }
+    //缁欐暟缁勯噷闈㈠啀娣诲姞涓�涓猚hildren鐨勭┖鏁扮粍
+    for (const i of newArr) {
+      i.children = []
+      this.getTreeList(rootList, i.children, i.productLinkPath)
+      if (i.children.length == 0) {
+        delete i.children
+      }
+    }
+    return newArr
+  },
+
+  // 鍘婚櫎鏍戠粨鏋勫浣欓」
+  ensureTreeConsistency(tree) {
+    for (let index = 0; index < tree.length; index++) {
+      const item = tree[index];
+      if (item.children && item.children.length) {
+        const isFloder = item.children.findIndex(citem => citem.sysType == 'CmsFolder')
+        const isItem = item.children.findIndex(citem => citem.sysType == 'CmsItem')
+        if (isFloder > -1 && isItem > -1) {
+          item.children = item.children.filter(ditem => ditem.sysType == 'CmsItem')
+        }
+        this.ensureTreeConsistency(item.children)
+      }
+    }
+    return tree
+  },
+
+  // 鎺掑簭鏁扮粍 鎸夌収productLinkPath
+  insertAndSortObjectsByProductLinkPath(array, newObj) {
+    // 鏌ユ壘鏂板璞″簲璇ユ彃鍏ョ殑浣嶇疆  
+    let insertIndex = array.findIndex(obj => newObj.id < obj.id);
+    // 濡傛灉娌℃湁鎵惧埌鍚堥�傜殑浣嶇疆锛屽垯鏀惧湪鏁扮粍鏈熬  
+    if (insertIndex === -1) {
+      insertIndex = array.length;
+    }
+    // 鎻掑叆鏂板璞″埌鏁扮粍  
+    array.splice(insertIndex, 0, newObj);
+    // 瀵规暟缁勮繘琛屾帓搴�  
+    array.sort((a, 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) {
     this.setData({
       loading: true,
-      noResources: false
-    })
+      noResources: false,
+    });
     let query = {
       path: '*',
       queryType: '*',
+      // storeInfo: this.data.options.storeInfo,
       productId: this.data.bookDetail.id,
       cmsPath: type.productLinkPath,
+      cmsType: '*',
       itemFields: {
         SysType: 'CmsFolder',
         // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
         selectType: [],
+        learnSelectType: [],
         freeFile: [],
         file: [],
+        protectedFile: [],
         resourcesClassification: [],
         isDownload: [],
         jsek_resourceBrief: [],
@@ -566,409 +972,502 @@
         size: 999
       },
     }
-    app.MG.store
-      .getProductDetail(query)
-      .then(async (res) => {
-        if (!res.datas.cmsDatas[0].datas.length) {
-          return this.setData({
-            noResources: true,
-            loading: false
-          })
-        }
-        // 浜戞祴璇曪紝閫掑綊璇锋眰閲屽眰鏁版嵁
-        if (type.refCode == 'questionBank') {
-          const data = res.datas.cmsDatas[0].datas.filter(
-            (item) => item.refCode == 'jsek_questionBank'
-          )
-          if (data.length) return this.getResourceData(data[0])
-        }
-        //鏁欏璧勬簮 浜戝涔�
-        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
-            })
-            const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
-            let result = []
-            if (type.refCode == 'jsek_teachingResources') {
-              this.findChildIds(list, result)
-              this.setData({
-                teach: list,
-                loading: false,
-                openTeachids: result
-              })
-              console.log('鏁欏璧勬簮', this.data.teach);
-            } else if (type.refCode == 'jsek_cloudLearning') {
-              // res.datas.cmsDatas[0].datas.forEach(item => {
-              //   item.checked = false
-              // })
-              // const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
-              this.findChildIds(list, result)
-              this.setData({
-                learn: list,
-                loading: false,
-                openLearnids: result
-              })
-            }
-          } else {
-            // 鏃犳暟鎹�
-          }
-        } 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
-          })
-        } else {
-          console.log('鍏朵粬');
-        }
-      })
-      .catch((e) => {
-        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)
+    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,
+          loading: false,
+        });
       }
-    }
-    return data
+      let list = []
+      // 鍒ゆ柇浜戝涔犳湁鏃犻攢鍞柟寮忓拰鏈夋晥鏈�
+      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,
+        });
+      } 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
+        });
+      }
+    })
   },
-  // 鑾峰彇璧勬簮鎺ュ彛
-  async getFolderItem(path) {
+  //  鑾峰彇 浜戞祴璇�
+  getResourceData(type) {
+    var that = this
+    that.setData({
+      loading: true,
+      noResources: false,
+    });
     let query = {
-      path: '*',
-      queryType: '*',
-      productId: this.data.bookDetail.id,
-      cmsPath: path,
+      path: "*",
+      queryType: "*",
+      storeInfo: that.data.options.storeInfo,
+      productId: that.data.bookDetail.id,
+      cmsPath: type.productLinkPath,
+      cmsType: '*',
       itemFields: {
-        SysType: 'CmsFolder',
+        SysType: "CmsFolder",
         // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
         selectType: [],
         freeFile: [],
         file: [],
-        protectedFile: [],
         resourcesClassification: [],
         isDownload: [],
         jsek_resourceBrief: [],
         jsek_link: [],
-        accessType: [],
-        learnSelectType: []
+        jsek_questionBank: [],
       },
       pading: {
         start: 0,
-        size: 999
+        size: 999,
       },
-    }
-    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 (item.sysType == 'CmsItem') {
-        if (item.selectType == 'webpage') {
-          item.disabled = true
-        } else {
-          if (item.isDownload != 1) {
-            item.disabled = true
+    };
+    app.MG.store
+      .getProductDetail(query)
+      .then(async (res) => {
+        // 浜戞祴璇曪紝閫掑綊璇锋眰閲屽眰鏁版嵁
+        if (type.refCode == "questionBank") {
+          let data = []
+          let result = [];
+          const isTSFW = res.datas.cmsDatas[0].datas.filter(
+            (item) =>
+            item.type == 'questionBankFolder' &&
+            (item.name == '濉┖棰�' ||
+              item.name == '鍒ゆ柇棰�' ||
+              item.name == '鍗曢�夐' ||
+              item.name == '澶氶�夐' ||
+              item.name == '绠�绛旈')
+          )
+          if (that.data.options.storeInfo == 'jsek_jslx') {
+            data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder');
+            if (data.length > 0) {
+              that.setData({
+                test: data,
+                loading: false,
+                openTeachids: result,
+              });
+            } else {
+              that.setData({
+                noResources: true,
+                loading: false,
+              });
+            }
+          } else {
+            if (isTSFW.length > 0) {
+              data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0)
+              that.setData({
+                jslx: false,
+              });
+            } else {
+              data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder')
+              that.setData({
+                jslx: true,
+              });
+            }
+            if (data.length > 0) {
+              let list = []
+              that.getTreeList(data, list, query.cmsPath)
+              list = that.ensureTreeConsistency(list)
+              that.findChildIds(list[0].children, result);
+              that.setData({
+                test: list.length == 1 && list[0].name == '棰樺簱' ? list[0].children : list,
+                loading: false,
+                openTeachids: result,
+              });
+            } else {
+              that.setData({
+                noResources: true,
+                loading: false,
+              });
+            }
           }
         }
-        if (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.resourceIsBuy(item)
-        item.isShopCar = this.isShoppingCart(item)
-      }
-    })
-    return data.datas.cmsDatas[0].datas
+      })
+      .catch((e) => {
+        console.log(e);
+      });
   },
+
   // 鑾峰彇灞曞紑椤�
   findChildIds(data, result) {
     let index = 0
-    for (let i = 0; i < data.length; i++) {
-      if (index < 3) {
-        const item = data[i]
-        if (item.childrenFolderCount > 0) {
-          result.push(item.id)
-          for (let j = 0; j < item.children.length; j++) {
-            if (index < 3) {
-              const childrenItme = item.children[j]
-              if (item.childrenCount > 0) {
-                result.push(childrenItme.id)
-                index += 1
+    if (data)
+      for (let i = 0; i < data.length; i++) {
+        if (index < 3) {
+          const item = data[i]
+          if (item.children && item.children.length > 0) {
+            result.push(item.id)
+            if (item.children) {
+              for (let j = 0; j < item.children.length; j++) {
+                if (index < 3) {
+                  const childrenItme = item.children[j]
+                  if (item.childrenCount > 0) {
+                    result.push(childrenItme.id)
+                    index += 1
+                  }
+                } else {
+                  break
+                }
               }
-            } else {
-              break
             }
+          } else if (item.childrenCount > 0) {
+            result.push(item.id)
+            index += 1
           }
-        } else if (item.childrenCount > 0) {
-          result.push(item.id)
-          index += 1
+        } else {
+          break
         }
-      } else {
-        break
       }
-    }
   },
 
   // 鍥句功娣诲姞璐墿杞�
   async addBookShopcCar() {
-
     if (!this.data.expire) {
-
-      const token = wx.getStorageSync('jsek-token')
-      if (!token) {
-        return wx.getUserProfile({
-          desc: '鐢ㄦ埛鐧诲綍',
-          success: (res) => {
-            console.log(res);
-          }
-        })
-      }
-
-      const shoppingCartGetId = []
-
+      const shoppingCartGetId = [];
       let query = {
         start: 0,
         size: 9999,
         filterList: [],
-        searchList: []
-      }
-      const res = await app.MG.store.getShoppingCartProductList(query)
+        searchList: [],
+      };
+      const res = await app.MG.store.getShoppingCartProductList(query);
       res.datas.forEach((item) => {
-        shoppingCartGetId.push(item.saleMethod.id)
-      })
-      console.log(shoppingCartGetId, 'shoppingCartGetId');
-      console.log(this.data.selectedIds, '閿�鍞柟寮廼d');
-      const determine = shoppingCartGetId.some((item) => item == this.data.selectedIds)
-      console.log(determine);
+        shoppingCartGetId.push(item.saleMethod.id);
+      });
+      const determine = shoppingCartGetId.some(
+        (item) => item == this.data.selectedIds
+      );
       if (!determine) {
         let query = {
-          requests: [
-            {
-              saleMethodId: this.data.selectedIds,
-              storeEventId: null,
-              agentCode: '鐢靛瓙涔�'
-            }
-          ]
-        }
-        const addRes = app.MG.store.addShoppingCart(query)
-        this.showSuccessToast()
-
+          requests: [{
+            saleMethodId: this.data.selectedIds,
+            storeEventId: null,
+            agentCode: "鐢靛瓙涔�",
+          }, ],
+        };
+        const addRes = app.MG.store.addShoppingCart(query);
+        this.showSuccessToast();
       } else {
         Toast({
           context: this,
-          selector: '#t-toast',
-          message: '宸叉坊鍔�',
-          theme: 'success',
-          direction: 'column',
+          selector: "#t-toast",
+          message: "璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞",
+          theme: "warning",
+          direction: "column",
         });
       }
     } else {
       wx.showToast({
         title: "鍟嗗搧涓嶅湪鏈夋晥鏈�",
-        icon: 'none',
+        icon: "none",
         duration: 1000,
-      })
+      });
     }
-
-
   },
 
   showSuccessToast() {
     Toast({
       context: this,
-      selector: '#t-toast',
-      message: '娣诲姞鎴愬姛',
-      theme: 'success',
-      direction: 'column',
+      selector: "#t-toast",
+      message: "娣诲姞鎴愬姛",
+      theme: "success",
+      direction: "column",
     });
   },
 
-
-
   async buyBook() {
     if (!this.data.expire) {
-      let bookOrdersId = ''
+      let bookOrdersId = "";
       let query = {
-        remarks: '鐢靛瓙涔�',
-        requests: [
-          {
-            saleMethodId: this.data.bookItemDetail.defaultSaleMethodId ? this.data.bookItemDetail.defaultSaleMethodId : this.data.bookDetail.defaultSaleMethodId,
-            count: 1
-          }
-        ]
-      }
+        remarks: "鐢靛瓙涔�",
+        requests: [{
+          saleMethodId: this.data.bookItemDetail.defaultSaleMethodId ?
+            this.data.bookItemDetail.defaultSaleMethodId : this.data.bookDetail.defaultSaleMethodId,
+          count: 1,
+        }, ],
+      };
       // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉
-      const res = await app.MG.store.initOrder(query)
+      const res = await app.MG.store.initOrder(query);
       // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value
-      bookOrdersId = res.orderNumber
-      console.log(bookOrdersId);
+      bookOrdersId = res.orderNumber;
       // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪
       if (bookOrdersId) {
-        const url = '/pages/cart/paymentPage/index?orderNumber=' + bookOrdersId
-        wx.navigateTo({
-          url
-        })
-      } else {
-        console.log(222);
-      }
+        if (this.data.bookDetail.price == "0.00") {
+          app.MG.store
+            .confirmOrder({
+              orderNum: bookOrdersId,
+            })
+            .then((res) => {
+              if (res) {
+                wx.showToast({
+                  title: "棰嗗彇鎴愬姛",
+                  icon: "none",
+                  duration: 1000,
+                });
+                this.getBookInfo(this.data.bookDetail.id);
+              }
+            });
+        } else {
+          const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id;
+          wx.navigateTo({
+            url,
+          });
+        }
+      } else {}
     } else {
       wx.showToast({
         title: "鍟嗗搧涓嶅湪鏈夋晥鏈�",
-        icon: 'none',
+        icon: "none",
         duration: 1000,
-      })
+      });
     }
   },
 
   // 鑾峰彇鏁欏璧勬簮涓嬭浇鏄惁鐢宠閫氳繃
-  getApplyInfo(id) {
+  async getApplyInfo(id) {
     // 鑾峰彇褰撳墠鏃堕棿
-    const currentDate = new Date()
+    const currentDate = new Date();
     let query = {
       sort: {
-        type: 'Desc',
-        field: 'CreateDate'
+        type: "Desc",
+        field: "CreateDate",
       },
       start: 0,
       size: 99999,
       appRefCode: app.config.appRefCode,
-      topicIdOrRefCode: 'productDownLoad'
-    }
-    app.MG.ugc.getTopicMessageList(query).then((res) => {
+      topicIdOrRefCode: "productDownLoad",
+    };
+    await app.MG.ugc.getTopicMessageList(query).then((res) => {
       const applyResource = res.datas.find((item) => {
-        let content = []
+        let content = [];
         try {
-          content = JSON.parse(item.content)
+          content = JSON.parse(item.content);
         } catch (error) {
-          content = []
+          content = [];
         }
-        if (Array.isArray(content)) return content.find((citem) => citem.id == id)
-        return false
-      })
+        if (Array.isArray(content))
+          return content.find((citem) => citem.id == id);
+        return false;
+      });
       // 鏈夌敵璇疯褰�
       if (applyResource) {
-        if (applyResource.state == 'Reject') {
+        if (applyResource.state == "Reject") {
           this.setData({
             rejectCause: JSON.parse(applyResource.feedBack).reason,
-            applyState: 'Reject'
-          })
-        } else if (applyResource.state == 'Normal') {
-          const endDate = JSON.parse(applyResource.feedBack).endDate
+            applyState: "Reject",
+          });
+        } else if (applyResource.state == "Normal") {
+          const endDate = JSON.parse(applyResource.feedBack).endDate;
           // const endDate = new Date(JSON.parse(applyResource.feedBack).endDate + ' 23:59:59').getTime()
-          if (endDate == '姘镐箙') {
+          if (endDate == "姘镐箙") {
             this.setData({
-              applyState: 'Normal',
-              deadline: '姘镐箙',
-            })
-            console.log('鏈夋晥鏃ユ湡', this.data.deadline);
+              applyState: "Normal",
+              deadline: "姘镐箙",
+            });
           } else {
-
-            let endTime = new Date(endDate + ' 23:59:59').getTime()
+            let endTime = new Date(endDate + " 23:59:59").getTime();
             this.setData({
-              deadline: endDate + ' 23:59:59'
-            })
+              deadline: endDate + " 23:59:59",
+            });
             if (currentDate.getTime() < endTime) {
               // 鏈秴鏃�
               this.setData({
-                applyState: 'Normal'
-              })
+                applyState: "Normal",
+              });
             } else {
               this.setData({
-                applyState: 'none'
-              })
+                applyState: "none",
+              });
             }
           }
         } else {
           this.setData({
-            applyState: applyResource.state
-          })
+            applyState: applyResource.state,
+          });
         }
       } else {
         this.setData({
-          applyState: 'none'
-        })
+          applyState: "none",
+        });
       }
-    })
+    });
     this.setData({
-      applyResourceLoading: false
-    })
+      applyResourceState: false,
+    });
+    wx.hideLoading();
   },
   // 鐢宠鏁欏璧勬簮
   applyResource() {
-    this.setData({
-      applyResourceLoading: true
-    })
-    // let role = userStore.userInfo ? userStore.userInfo.role : null
-    // if (role) {
-    //   if (role == 'Teacher') {
-    // 鐢宠鏁欏璧勬簮
-    let query = {
-      topicIdOrRefCode: 'productDownLoad',
-      type: 'applyForDownload',
-      state: 'WaitAudit',
-      cmsTypeRefCode: '',
-      newDataListRequest: [],
-      name: this.data.bookDetail.name, // name涓虹敵璇风殑涔︽湰鍚嶇О
-      content: JSON.stringify([
-        {
-          name: this.data.bookDetail.name,
-          id: this.data.bookDetail.id,
-          // defaultSaleMethodId: bookData.value.defaultSaleMethodId,
-          icon: this.data.bookDetail.icon
-        }
-      ])
-    }
-    app.MG.ugc.newTopicMessage(query).then((res) => {
-      if (res) {
-        wx.showToast({
-          title: '鐢宠宸叉彁浜わ紝璇峰緟瀹℃牳閫氳繃鍚庝笅杞�',
-        })
-      }
-      this.getApplyInfo(this.data.bookDetail.id)
-    })
-    //   } else {
-    //     ElMessageBox.confirm('璇峰厛杩涜鏁欏笀璁よ瘉锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', {
-    //       confirmButtonText: '鍘昏璇�',
-    //       cancelButtonText: '鍙栨秷',
-    //       type: 'warning'
-    //     })
-    //       .then(() => {
-    //         isShow.value = true
-    //       })
-    //       .catch(() => { })
-    //   }
-    // } else {
-    //   // logIn()
+    // if (this.data.applyResourceState) {
+    //   return wx.showToast({
+    //     icon: "error",
+    //     title: "璇峰嬁閲嶅鐐瑰嚮",
+    //   });
     // }
+    this.setData({
+      applyResourceState: true,
+    });
+    let role = JSON.parse(wx.getStorageSync(app.config.userInfoKey)).role;
+    if (role) {
+      if (role == "Teacher") {
+        wx.showLoading({
+          title: "鍔犺浇涓�",
+        });
+        // 鐢宠鏁欏璧勬簮
+        let query = {
+          topicIdOrRefCode: "productDownLoad",
+          type: "applyForDownload",
+          state: "WaitAudit",
+          cmsTypeRefCode: "",
+          newDataListRequest: [],
+          name: this.data.bookDetail.name, // name涓虹敵璇风殑涔︽湰鍚嶇О
+          content: JSON.stringify([{
+            name: this.data.bookDetail.name,
+            id: this.data.bookDetail.id,
+            // defaultSaleMethodId: bookData.value.defaultSaleMethodId,
+            icon: this.data.bookDetail.icon,
+          }, ]),
+        };
+        app.MG.ugc.newTopicMessage(query).then(async (res) => {
+          if (res) {
+            wx.showToast({
+              title: "鐢宠宸叉彁浜�",
+              duration: 2000,
+            });
+          }
+          await this.getApplyInfo(this.data.bookDetail.id);
+        });
+      } else {
+        wx.showModal({
+          title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�",
+          content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�",
+          confirmColor: "#ff6c00",
+          cancelColor: "#949494",
+          complete: (res) => {
+            if (res.cancel) {}
+            if (res.confirm) {
+              wx.navigateTo({
+                url: "/packageDomain/pages/teacherCertification/index",
+              });
+            }
+          },
+        });
+      }
+    } else {
+      wx.showModal({
+        title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�",
+        content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�",
+        confirmColor: "#ff6c00",
+        cancelColor: "#949494",
+        complete: (res) => {
+          if (res.cancel) {}
+          if (res.confirm) {
+            wx.navigateTo({
+              url: "/packageDomain/pages/teacherCertification/index",
+            });
+          }
+        },
+      });
+    }
   },
   // 鏁欏璧勬簮涓嬭浇鍓嶅線PC鎻愮ずDiialog
   closeTeachDownload() {
     this.setData({
-      isShowTeachDownload: false
-    })
+      isShowTeachDownload: false,
+    });
   },
   // 涓嬭浇鍔熻兘
   downloadTeach(e) {
-    this.setData({
-      isShowTeachDownload: true
-    })
-    console.log('zhuan', this.data.isShowTeachDownload);
+    let role = JSON.parse(wx.getStorageSync(app.config.userInfoKey)).role;
+    if (role && role == "Teacher") {
+      this.setData({
+        isShowTeachDownload: true,
+      });
+    } else {
+      wx.showModal({
+        title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�",
+        content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�",
+        confirmColor: "#ff6c00",
+        cancelColor: "#949494",
+        complete: (res) => {
+          if (res.cancel) {}
+          if (res.confirm) {
+            wx.navigateTo({
+              url: "/packageDomain/pages/teacherCertification/index",
+            });
+          }
+        },
+      });
+    }
     //   const data = e.detail.value
     //   // const data
     //   // let role = userStore.userInfo ? userStore.userInfo.role : null
@@ -1063,33 +1562,66 @@
           tempFilePath: res.tempFilePath,
           success: function (res) {
             wx.showToast({
-              title: '涓嬭浇鎴愬姛',
-              icon: 'success'
-            })
+              title: "涓嬭浇鎴愬姛",
+              icon: "success",
+            });
           },
           fail: function (res) {
             wx.showToast({
-              title: '涓嬭浇澶辫触',
-              icon: 'none'
-            })
-          }
-        })
+              title: "涓嬭浇澶辫触",
+              icon: "none",
+            });
+          },
+        });
       },
       fail: function (res) {
         wx.showToast({
-          title: '涓嬭浇澶辫触',
-          icon: 'none'
-        })
-      }
-    })
+          title: "涓嬭浇澶辫触",
+          icon: "none",
+        });
+      },
+    });
   },
   // 鍒ゆ柇璧勬簮鏄惁璐拱
   resourceIsBuy(data) {
     if (data.saleMethod && data.saleMethod.length) {
-      const isSHow = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id)
-      return !isSHow
+      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
+      );
+      // 宸茬粡璐拱
+      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
+      return false;
+    }
+  },
+  // 浜戝涔犺祫婧愭槸鍚︽樉绀洪攣鍥炬爣锛堟湭璐拱锛屼笖璧勬簮鍞环澶т簬闆讹級
+  isShowNeedBuy(data) {
+    if (data.saleMethod && data.saleMethod.length) {
+      const isSHow = this.data.buyIdList.some(
+        (item) => item == data.saleMethod[0].Id
+      );
+      if (isSHow) {
+        return false;
+      } else {
+        return data.saleMethod[0].Price > 0 ? true : false;
+      }
+      return !isSHow;
+    } else {
+      return false;
     }
   },
   // 鑾峰彇宸茶喘涔板晢鍝�
@@ -1098,149 +1630,216 @@
       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,
+      });
+    });
   },
   // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀�
   isShoppingCart(data) {
     if (data.saleMethod && data.saleMethod.length) {
-      if (data.saleMethod[0].Price <= 0) return false
+      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
       } 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
+      return false;
     }
+  },
+
+  updateShoppingCartHidden() {
+    const isSHow = this.data.shoppingCartGetId.some(
+      (item) => item == data.saleMethod[0].Id
+    );
+    return !isSHow;
+  },
+  //鍒锋柊璐墿杞﹀浘鏍�
+  updateCloudLearning() {
+    this.getBookInfo()
+    this.getShoppingCartProductGet()
+    const checkData = this.data.cmsDatas.find(
+      (item) => item.refCode == "jsek_cloudLearning"
+    );
+    this.getResourceDataList(checkData);
   },
   // 閬嶅巻鏍戠粨鏋勮浆鎹负鏁扮粍鏂规硶
   handleTreeData(array) {
-    const flattenedArray = []
+    const flattenedArray = [];
     array.forEach((node) => {
       // 灏嗗綋鍓嶈妭鐐规坊鍔犲埌灞曞紑鐨勬暟缁勪腑
-      flattenedArray.push(node)
+      flattenedArray.push(node);
       // 閫掑綊澶勭悊瀛愯妭鐐�
       if (node.children && node.children.length > 0) {
-        const childrenArray = this.handleTreeData(node.children)
-        flattenedArray.push(...childrenArray)
+        const childrenArray = this.handleTreeData(node.children);
+        flattenedArray.push(...childrenArray);
       }
-    })
-    return flattenedArray.filter((item) => item.sysType == 'CmsItem')
+    });
+    return flattenedArray;
   },
   // 浜戝涔犱竴閿鍙�
   async getFreeResource() {
-    const child = this.selectComponent('#learn-resource')
-    const token = wx.getStorageSync('jsek-token')
+    const child = this.selectComponent("#learn-resource");
+    const token = wx.getStorageSync(app.config.tokenKey);
     if (!token) {
-      return wx.getUserProfile({
-        desc: '鐢ㄦ埛鐧诲綍',
-        success: (res) => {
-          console.log(res);
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue
+        } else {
+          // 鍑虹幇閿欒锛岃繑鍥瀎alse
         }
-      })
+      });
     }
-    let arr = this.handleTreeData(this.data.learn).filter((item) => this.resourceIsBuy(item))
-    let freeIds = arr.filter((item) => {
-      return item.saleMethod[0].Price == 0
-    })
-    if (!freeIds.length) return wx.showToast({
-      icon: "error",
-      title: '鏆傛棤鍏嶈垂璧勬簮',
-    })
-    child.changeReceive(true)
-    let requests = []
-    freeIds.forEach((item, index) => {
-      if (this.resourceIsBuy(item)) {
-        requests.push({
-          saleMethodId: item.saleMethod[0].Id,
+    // 棰嗗彇鏌ョ湅 锛屽厛鐪嬩簯瀛︿範涓婄殑  鍐嶇湅璧勬簮涓婄殑
+    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
-        })
+        }]
       }
-    })
-
-    let query = {
-      remarks: '浜戝涔�',
-      requests,
+    } else {
+      // 棰嗗彇璧勬簮
+      let arr = this.handleTreeData(this.data.learn).filter(item => this.resourceIsBuy(item))
+      let freeIds = arr.filter((item) => {
+        return item.saleMethod.find((citem) => citem.SaleType == 'Normal').Price == 0
+      })
+      if (!freeIds.length)
+        return wx.showToast({
+          icon: "error",
+          title: "鏆傛棤鍏嶈垂璧勬簮",
+        });
+      let requests = [];
+      freeIds.forEach((item, index) => {
+        if (this.resourceIsBuy(item)) {
+          requests.push({
+            saleMethodId: item.saleMethod[0].Id,
+            count: 1,
+          });
+        }
+      });
+      query = {
+        remarks: "浜戝涔�",
+        requests,
+      };
     }
+    child.changeReceive(true);
     try {
-      const initOrderRes = await app.MG.store.initOrder(query)
+      const initOrderRes = await app.MG.store.initOrder(query);
       let parameter = {
-        orderNum: initOrderRes.orderNumber
-      }
+        orderNum: initOrderRes.orderNumber,
+      };
       // 纭璁㈠崟
-      const confirmOrderRes = await app.MG.store.confirmOrder(parameter)
+      const confirmOrderRes = await app.MG.store.confirmOrder(parameter);
       if (confirmOrderRes.orderNumber) {
-        child.changeReceive(false)
+        child.changeReceive(false);
         wx.showToast({
-          title: '棰嗗彇鎴愬姛',
+          title: "棰嗗彇鎴愬姛",
+        });
+        this.getBookInfo(this.data.bookId);
+        this.getResourceDataList({
+          refCode: 'jsek_cloudLearning',
+          productLinkPath: this.data.learnPath
         })
-        this.getBookInfo(this.data.bookId)
+        this.setData({
+          successOrderNumber: confirmOrderRes.orderNumber
+        })
       }
     } catch (error) {
-      console.log(error)
+      console.log(error);
     }
   },
   // 浜戝涔犱竴閿喘涔�
   async allAddShoppiingCar() {
-    const child = this.selectComponent('#learn-resource')
-    const token = wx.getStorageSync('jsek-token')
+    const child = this.selectComponent("#learn-resource");
+    const token = wx.getStorageSync("jsek-token");
     if (!token) {
       return wx.getUserProfile({
-        desc: '鐢ㄦ埛鐧诲綍',
+        desc: "鐢ㄦ埛鐧诲綍",
         success: (res) => {
           console.log(res);
-        }
-      })
+        },
+      });
     }
-    let shopList = this.handleTreeData(this.data.learn).filter((item) => this.resourceIsBuy(item))
-    this.getShoppingCartProductGet()
-    if (!shopList.length) return wx.showToast({
-      icon: "error",
-      title: '宸插叏閮ㄨ喘涔�',
-    })
-    child.changeBuy(true)
-    let requests = []
+    let shopList = this.handleTreeData(this.data.learn).filter(item => item.cmsType == 'cmsItem')
+    shopList = shopList.filter((item) =>
+      this.resourceIsBuy(item)
+    );
+    this.getShoppingCartProductGet();
+    if (!shopList.length)
+      return wx.showToast({
+        icon: "error",
+        title: "宸插叏閮ㄨ喘涔�",
+      });
+    child.changeBuy(true);
+    let requests = [];
     shopList.forEach((item) => {
       requests.push({
         saleMethodId: item.saleMethod[0].Id,
         count: 1,
-      })
-    })
+      });
+    });
     let query = {
-      remarks: '浜戝涔�',
+      remarks: "浜戝涔�",
       requests,
-    }
-    const initOrderRes = await app.MG.store.initOrder(query)
-    child.changeBuy(false)
+    };
+    const initOrderRes = await app.MG.store.initOrder(query);
+    child.changeBuy(false);
     // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪
     if (initOrderRes.orderNumber) {
       // bookService: orderNumber.value,  灏戜紶杩欎釜 锛屾殏鏃朵笉鐭ラ亾鏈変粈涔堢敤
       wx.navigateTo({
         url: `/pages/cart/paymentPage/index?&bookId=${this.data.bookDetail.id}&bookName=${this.data.bookDetail.name}&orderNumber=${initOrderRes.orderNumber}`,
-      })
+      });
     } else {
       // 璁㈠崟鍙蜂笉瀛樺湪锛屾樉绀鸿鍛婃秷鎭�
       wx.showToast({
         icon: "error",
-        title: '璇烽噸璇�',
-      })
+        title: "璇烽噸璇�",
+      });
     }
+  },
+  // 浜戝涔犲瓧娈佃喘涔�
+  async buyCloundMenu() {
+    const cloundData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning')
+
   },
   // 鍙樹负鎵�鏈塩heck   true
   findAndUpdateItemsByIds(tree, ids) {
@@ -1266,146 +1865,225 @@
   // 缁勫嵎鏍煎紡鍖栨棩鏈熸樉绀�
   DateFormat(date, fmt) {
     if (date && fmt) {
-      let _date = new Date(date)
+      let _date = new Date(date);
       var o = {
-        'M+': _date.getMonth() + 1, //鏈堜唤
-        'd+': _date.getDate(), //鏃�
-        'h+': _date.getHours(), //灏忔椂
-        'm+': _date.getMinutes(), //鍒�
-        's+': _date.getSeconds(), //绉�
-        'q+': Math.floor((_date.getMonth() + 3) / 3), //瀛e害
-        S: _date.getMilliseconds() //姣
-      }
+        "M+": _date.getMonth() + 1, //鏈堜唤
+        "d+": _date.getDate(), //鏃�
+        "h+": _date.getHours(), //灏忔椂
+        "m+": _date.getMinutes(), //鍒�
+        "s+": _date.getSeconds(), //绉�
+        "q+": Math.floor((_date.getMonth() + 3) / 3), //瀛e害
+        S: _date.getMilliseconds(), //姣
+      };
       if (/(y+)/.test(fmt)) {
-        fmt = fmt.replace(RegExp.$1, (_date.getFullYear() + '').substr(4 - RegExp.$1.length))
+        fmt = fmt.replace(
+          RegExp.$1,
+          (_date.getFullYear() + "").substr(4 - RegExp.$1.length)
+        );
       }
       for (var k in o) {
-        if (new RegExp('(' + k + ')').test(fmt)) {
+        if (new RegExp("(" + k + ")").test(fmt)) {
           fmt = fmt.replace(
             RegExp.$1,
-            RegExp.$1.length == 1
-              ? (o)[k]
-              : ('00' + (o)[k]).substr(('' + (o)[k]).length)
-          )
+            RegExp.$1.length == 1 ?
+            o[k] :
+            ("00" + o[k]).substr(("" + o[k]).length)
+          );
         }
       }
-      return fmt
+      return fmt;
     } else {
-      return ''
+      return "";
     }
   },
   // 鑾峰彇缁勫嵎绛旈鏁版嵁
   getMockData() {
+    // const child = this.selectComponent("#test-resource");
+    // if (child) child.changeTestLoaidng(true);
     this.setData({
-      'mockData.useCount': 0,
-      'mockData.mockList': []
-    })
+      "mockData.useCount": 0,
+      "mockData.mockList": [],
+    });
     app.MG.identity
       .getUserKey({
-        domain: 'mockData',
-        keys: [this.data.bookId]
+        domain: "mockData",
+        keys: [this.data.bookId],
       })
       .then((res) => {
-        console.log(JSON.parse(res[0].value));
         if (res && res.length) {
-          const mock = JSON.parse(res[0].value)
-          mock.forEach(item => {
-            item.createDate = this.DateFormat(item.createDate, 'yyyy-MM-dd')
-          })
+          const mock = JSON.parse(res[0].value);
+          mock.forEach((item) => {
+            item.createDate = this.DateFormat(item.createDate, "yyyy-MM-dd");
+          });
           this.setData({
-            'mockData.mockList': mock
-          })
+            "mockData.mockList": mock,
+          });
           // 缁勫嵎宸蹭娇鐢ㄦ鏁�
           res.forEach((item) => {
             // 宸茬粡鏈夌瓟棰樺垎鏁扮瓑鏁版嵁锛岃瘉鏄庣粍鍗峰凡缁忎娇鐢ㄥ畬姣�
             if (item.resultData) {
               this.setData({
-                'mockData.useCount': this.data.mockData.useCount + 1
-              })
+                "mockData.useCount": this.data.mockData.useCount + 1,
+              });
             }
-          })
+          });
         }
-      })
+      });
   },
   // 璐拱缁勫嵎
   async buyMock() {
-    let res
-    if (!this.data.mockData.id) return wx.showToast({
-      icon: "error",
-      title: '鏆傛棤缁勫嵎',
-      mask: true
-    })
+    let res;
+    if (!this.data.mockData.id)
+      return wx.showToast({
+        icon: "error",
+        title: "鏆傛棤缁勫嵎",
+        mask: true,
+      });
     // 鏋勫缓璁㈠崟鏌ヨ瀵硅薄
     try {
       let query = {
-        remarks: '缁勫嵎',
-        requests: [
-          {
-            saleMethodId: this.data.mockData.id,
-            count: 1
-          }
-        ]
-      }
+        remarks: "缁勫嵎",
+        requests: [{
+          saleMethodId: this.data.mockData.id,
+          count: 1,
+        }, ],
+      };
       if (this.data.flag) {
         this.setData({
-          flag: false
-        })
-        res = await app.MG.store.initOrder(query)
+          flag: false,
+        });
+        res = await app.MG.store.initOrder(query);
       }
       if (res.orderNumber && this.data.mockData.price) {
         wx.navigateTo({
           url: `/pages/cart/paymentPage/index?orderNumber=${res.orderNumber}`,
-        })
+        });
       } else {
         // 0鍏冪洿鎺ラ鍙�
         // 纭璁㈠崟
-        const confirmOrderRes = await app.MG.store.confirmOrder({ orderNum: res.orderNumber })
+        const confirmOrderRes = await app.MG.store.confirmOrder({
+          orderNum: res.orderNumber,
+        });
         if (confirmOrderRes) {
           wx.showToast({
             icon: "success",
-            title: '棰嗗彇鎴愬姛',
-          })
+            title: "棰嗗彇鎴愬姛",
+          });
           this.setData({
-            flag: true
-          })
-          await this.recordBuyMock() // 璁板綍璐拱鏃堕棿
+            flag: true,
+          });
+          await this.recordBuyMock(); // 璁板綍璐拱鏃堕棿
         }
       }
     } catch (error) {
-      console.log(error)
+      console.log(error);
     }
   },
   // 璁板綍璐拱缁勫嵎鏃堕棿
   recordBuyMock() {
-    const num = this.data.mockData.mockList.length
-    const id = tool.uuid(8)
-    const createDate = new Date().getTime()
-    const mockList = this.data.mockData.mockList
-    mockList.push({ id, createDate, name: `绗�${num + 1}濂楄瘯鍗穈, state: '0' })
+    const num = this.data.mockData.mockList.length;
+    const id = tool.uuid(8);
+    const createDate = this.DateFormat(new Date().getTime(), "yyyy-MM-dd");
+    const mockList = this.data.mockData.mockList;
+    mockList.push({
+      id,
+      createDate,
+      name: `绗�${num + 1}濂楄瘯鍗穈,
+      state: "0",
+    });
     this.setData({
-      'mockData.mockList': mockList
-    })
+      "mockData.mockList": mockList,
+    });
     // 璁板綍璐拱鏃堕棿锛屽苟璁剧姸鎬乻tate涓�1锛岃〃绀哄垰璐拱瀹屾垚缁勫嵎
     app.MG.identity.setUserKey({
-      setKeyRequests: [
-        {
-          domain: 'mockData',
-          key: this.data.bookDetail.id + '',
-          value: JSON.stringify(this.data.mockData.mockList)
+      setKeyRequests: [{
+        domain: "mockData",
+        key: this.data.bookDetail.id + "",
+        value: JSON.stringify(this.data.mockData.mockList),
+      }, ],
+    });
+  },
+  // 鑾峰彇鐩稿叧鍥句功
+  getAboutBook(path) {
+    this.setData({
+      relatedBookLoading: true,
+      noRelatedBookData: false,
+    });
+    let query = {
+      path,
+      queryType: "*",
+      coverSize: {
+        height: 243,
+      },
+      paging: {
+        start: 0,
+        size: 99,
+      },
+      fields: {
+        author: [],
+        publicationDate: [],
+      },
+    };
+    app.MG.store.getProductList(query).then((res) => {
+      const Arr = res.datas.filter(
+        (item) => item.id != this.data.bookDetail.id
+      );
+      let bookArr = [];
+      if (Arr.length > 9) {
+        for (var i = 0; i < 9; i++) {
+          var _num = Math.floor(Math.random() * Arr.length);
+          var mm = Arr[_num];
+          Arr.splice(_num, 1);
+          bookArr.push(mm);
         }
-      ]
+      } else {
+        bookArr = Arr;
+      }
+      this.setData({
+        relatedBookData: bookArr,
+        relatedBookLoading: false,
+      });
+      if (!this.data.relatedBookData.length)
+        this.setData({
+          noRelatedBookData: true,
+        });
+    });
+  },
+  goBookDetails(e) {
+    this.setData({
+      tabValue: "brief",
+      pageLoading: true,
+    });
+    let bookPathList = wx.getStorageSync("bookPathList");
+    const bookPath = {
+      id: this.data.bookDetail.id,
+      name: this.data.bookDetail.name,
+    };
+    if (bookPathList) {
+      bookPathList = JSON.parse(bookPathList);
+      if (bookPathList.length > 8) bookPathList.shift();
+      bookPathList.push(bookPath);
+    } else {
+      bookPathList = [bookPath];
+    }
+
+    wx.setStorageSync("bookPathList", JSON.stringify(bookPathList));
+    this.setData({
+      learn: [],
+      teach: []
     })
+    this.onLoad({
+      id: e.detail.id,
+      name: e.detail.name,
+    });
   },
   // 搴曢儴璐拱鎸夐挳
   buyBtn() {
-    if (this.data.tabValue == 'brief') {
-      this.buyBook()
-    }
-    else if (this.data.tabValue == 'jsek_cloudLearning') {
-      const tree = this.selectComponent('#tree')
-      tree.onCloudShoppingCart()
-    } else if (this.data.tabValue == 'questionBank') {
-      this.buyMock()
+    if (this.data.tabValue == "brief" && !this.data.bookBuy) {
+      this.buyBook();
+    } else if (this.data.tabValue == "jsek_cloudLearning") {
+      const tree = this.selectComponent("#tree");
+      tree.onCloudShoppingCart();
     } else {
       console.log(this.data.tabValue);
     }
@@ -1414,304 +2092,701 @@
   goRead() {
     if (!this.data.noFile) {
       wx.showToast({
-        title: '鏆傛棤闃呰鏂囦欢',
-        icon: 'none',
-        duration: 2000
-      })
+        title: "鏆傛棤闃呰鏂囦欢",
+        icon: "none",
+        duration: 2000,
+      });
       return false;
     }
     wx.navigateTo({
-      url: '/packageBookService/pages/components/webView/index?md5=' + this.data.fileInfo.md5 + '&fileName=' + this.data.fileInfo.bookName + '&fileType=' + this.data.fileInfo.fileType + '&freePage=' + this.data.fileInfo.freePage
-    })
+      url: "/packageBookService/pages/components/webView/index?md5=" +
+        this.data.fileInfo.md5 +
+        "&fileName=" +
+        this.data.fileInfo.bookName +
+        "&fileType=" +
+        this.data.fileInfo.fileType +
+        "&freePage=" +
+        this.data.fileInfo.freePage +
+        "&bookBuy=" +
+        this.data.bookBuy +
+        "&bookId=" +
+        this.data.bookDetail.id,
 
+    });
   },
 
   //鏍蜂功鐢宠
-  //鐢宠鐢靛瓙鏍蜂功
-  appplyElectronicBook() {
-    console.log(this.data.bookDetail)
-    if (this.data.bookDetail.isApplyBook == 2 || this.data.bookDetail.isApplyBook == 4) {
-
-      let role = this.data.userInfo != null ? this.data.userInfo.role : null
-      if (role) {
-        if (role == 'Teacher') {
-          if (this.data.noFile) {
-            this.getSelectBookCount()
+  //鑾峰彇宸茬敵璇风焊璐ㄦ牱涔�
+  getAlreadyPBookList() {
+    const data = {
+      start: 0,
+      size: 9999,
+      topicIdOrRefCode: "applyEntityBook",
+      appRefCode: app.config.appRefCode,
+      sort: {
+        type: "Desc",
+        field: "CreateDate",
+      },
+    };
+    app.MG.ugc.getTopicMessageList(data).then((res) => {
+      let list = [];
+      res.datas.map((item) => {
+        if (item.content) {
+          item.content = JSON.parse(item.content);
+        }
+        list.push(item);
+      });
+      this.setData({
+        alreadyPaperBookList: list,
+      });
+    });
+  },
+  //鑾峰彇宸茬敵璇风數瀛愭牱涔�
+  getAlreadyEBookList() {
+    const data = {
+      start: 0,
+      size: 9999,
+      topicIdOrRefCode: "applyBook",
+      appRefCode: app.config.appRefCode,
+      sort: {
+        type: "Desc",
+        field: "CreateDate",
+      },
+    };
+    app.MG.ugc.getTopicMessageList(data).then((res) => {
+      let list = [];
+      if (res.datas.length > 0) {
+        res.datas.map((item) => {
+          if (item.feedBack) {
+            item.feedBack = JSON.parse(item.feedBack);
+            if (item.feedBack.endDate) {
+              let times = new Date(
+                item.feedBack.endDate + " 23:59:59"
+              ).getTime();
+              let currentDate = new Date().getTime();
+              if (times < currentDate) {
+                item.isExpiry = true;
+              }
+            }
+          }
+          if (item.content) {
+            item.content = JSON.parse(item.content);
+          }
+          if (item.state != "Reject") {
+            list.push(item);
+          }
+        });
+        const smBook = list.find(item => item.content[0].id == this.data.bookDetail.id)
+        if (smBook && smBook.state == 'Normal') {
+          const flag = new Date(smBook.feedBack.endDate + ' 23:59:59').getTime() > new Date().getTime()
+          if (flag) {
+            this.setData({
+              applicationState: 'Normal'
+            })
           } else {
-            wx.showToast({
-              title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!",
-              icon: 'none',
-              duration: 1000,
+            this.setData({
+              applicationState: 'overdue'
             })
           }
-        } else {
-          wx.showModal({
-            title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰�
-            content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹�
-            success: function (res) {
-              if (res.confirm) {
-                wx.navigateTo({
-                  url: "/packageDomain/pages/teacherCertification/index",
-                });
-              } else if (res.cancel) {
-              }
-            }
-          })
         }
+        this.setData({
+          alreadyElectronicBookList: list,
+        });
       }
-    } else {
-      wx.showToast({
-        title: "璇ヤ功涓嶈兘鐢宠鐢靛瓙鏍蜂功",
-        icon: 'none',
-        duration: 1000,
-      })
-    }
+    });
   },
-  //鐢宠绾歌川鏍蜂功
-  appplyPaperBook() {
-    if (this.data.bookDetail.isApplyBook == 3 || this.data.bookDetail.isApplyBook == 4) {
-      let role = this.data.userInfo != null ? this.data.userInfo.role : null
-      if (role) {
-        if (role == 'Teacher') {
-          this.getSelectPaperBookCount()
-        } else {
-          wx.showModal({
-            title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰�
-            content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹�
-            success: function (res) {
-              if (res.confirm) {
-                wx.navigateTo({
-                  url: "/packageDomain/pages/teacherCertification/index",
-                });
-              } else if (res.cancel) {
-              }
-            }
-          })
-        }
-      }
-    } else {
-      wx.showToast({
-        title: "璇ヤ功涓嶈兘鐢宠绾歌川鏍蜂功",
-        icon: 'none',
-        duration: 1000,
-      })
-    }
-  },
+
   //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙绾歌川锛�
   getSelectPaperBookCount() {
     app.MG.app
       .getTicketResult({
-        ticketRefCodeOrGuid: 'paperSampleBookapplyNum',
-        roleId: this.data.userInfo.roleId
+        ticketRefCodeOrGuid: "paperSampleBookapplyNum",
+        roleId: this.data.userInfo.roleId,
       })
       .then((res) => {
         this.setData({
-          paperBookCount: res.totalCount - res.usedCount
-        })
-        this.getAlreadyBookList(this.data.bookDetail, 'pBook')
-      })
+          paperBookCount: res.totalCount - res.usedCount,
+        });
+      });
   },
   //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙鐢靛瓙锛�
   getSelectBookCount() {
     app.MG.app
       .getTicketResult({
-        ticketRefCodeOrGuid: 'electronicSampleBookapplyNum',
-        roleId: this.data.userInfo.roleId
+        ticketRefCodeOrGuid: "electronicSampleBookapplyNum",
+        roleId: this.data.userInfo.roleId,
       })
       .then((res) => {
         this.setData({
-          ebookCount: res.totalCount - res.usedCount
-        })
-        this.getAlreadyBookList(this.data.bookDetail, 'eBook')
-      })
+          ebookCount: res.totalCount - res.usedCount,
+        });
+      });
   },
-  //鑾峰彇宸茬敵璇风殑鏍蜂功鍒楄〃
-  getAlreadyBookList(item, type) {
-    let topicIdOrRefCode = null
-    if (type == 'eBook') {
-      topicIdOrRefCode = 'applyBook'
-    } else {
-      topicIdOrRefCode = 'applyEntityBook'
+
+  //鐢宠鐢靛瓙鏍蜂功
+  appplyElectronicBook() {
+    // 鍏堝垽鏂笅鏁欏笀璁よ瘉锛屾湭瀵瑰師鏈夐�昏緫淇敼
+    let role = this.data.userInfo != null ? this.data.userInfo.role : null;
+    if (role && role == "Teacher") {} else {
+      return wx.showModal({
+        title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", //鎻愮ず鐨勬爣棰�
+        content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", //鎻愮ず鐨勫唴瀹�
+        confirmColor: "#ff6c00",
+        cancelColor: "#949494",
+        success: function (res) {
+          if (res.confirm) {
+            wx.navigateTo({
+              url: "/packageDomain/pages/teacherCertification/index",
+            });
+          } else if (res.cancel) {}
+        },
+      });
     }
-    const data = {
-      start: 0,
-      size: 9999,
-      topicIdOrRefCode,
-      appRefCode: app.config.appRefCode,
-      sort: {
-        type: 'Desc',
-        field: 'CreateDate'
-      }
-    }
-    app.MG.ugc.getTopicMessageList(data).then((res) => {
-      let itemAttr = null
-      let isHas = false
-      itemAttr = {
-        id: item.id,
-        title: item.name || '--',
-        icon: item.icon,
-        checked: false,
-        defaultSaleMethodId: item.defaultSaleMethodId,
-        md5: item.datas.Icon,
-        author: item.author || '--',
-        price: item.price || '--',
-        isbn: item.isbn || '--',
-        publicationDate: item.publicationDate
-      }
-      res.datas.map((item) => {
-        if (item.feedBack) {
-          item.feedBack = JSON.parse(item.feedBack)
-          if (item.feedBack.endDate) {
-            const currentDate = new Date()
-            let times = new Date(item.feedBack.endDate + ' 23:59:59').getTime()
-            if (times < currentDate.getTime()) {
-              item.isExpiry = true
-            }
-          }
+    if (
+      this.data.bookDetail.isApplyBook == 2 ||
+      this.data.bookDetail.isApplyBook == 4
+    ) {
+      let role = this.data.userInfo != null ? this.data.userInfo.role : null;
+      if (role && role == "Teacher") {
+        if (!this.data.noFile) {
+          wx.showToast({
+            title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!",
+            icon: "none",
+            duration: 1000,
+          });
+          return;
         }
-        if (item.content) {
-          item.content = JSON.parse(item.content)
-          item.content.map((e) => (item.productId = e.id))
+        if (this.data.ebookCount == 0) {
+          wx.showToast({
+            title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
         }
-      })
-      let objVal = null
-      if (type != 'eBook') {
-        objVal = res.datas.find(
-          (i) => i.productId == item.id && i.state != 'Reject' && i.state == 'WaitAudit'
-        )
-      } else {
-        objVal = res.datas.find((i) => i.productId == item.id && i.state != 'Reject')
-      }
-      if (objVal && !objVal.isExpiry && type == 'eBook') {
-        wx.showToast({
-          title: "鎮ㄥ凡鐢宠璇ユ牱涔�",
-          icon: 'none',
-          duration: 1000,
-        })
-      } else if (objVal && type != 'eBook') {
-        wx.showToast({
-          title: "鎮ㄥ凡鐢宠璇ユ牱涔�",
-          icon: 'none',
-          duration: 1000,
-        })
-      } else {
-        if (type == 'eBook') {
-          if (this.data.ebookCount > 0) {
-            const eBookData = this.data.electronicBookList
-            if (eBookData.length == 2) {
-              wx.showToast({
-                title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
-                icon: 'none',
-                duration: 1000,
-              })
-              return false
-            }
-            if (eBookData.length > 0) {
-              for (let i = 0; i < eBookData.length; i++) {
-                if (eBookData[i].id == item.id) {
-                  isHas = true
-                }
-              }
-              if (!isHas) {
-                wx.showToast({
-                  title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
-                  icon: "none",
-                  duration: 1000,
-                })
-                this.setData({
-                  electronicBookList: [...this.data.electronicBookList, ...[itemAttr]],
-                  num: this.data.electronicBookList.length + this.data.paperBookList.length
-                })
-                wx.setStorageSync("electronicBookList", this.data.electronicBookList);
-              } else {
-                wx.showToast({
-                  title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
-                  icon: "none",
-                  duration: 1000,
-                })
-              }
-            } else {
-              wx.showToast({
-                title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
-                icon: "none",
-                duration: 1000,
-              })
-              this.setData({
-                electronicBookList: [itemAttr],
-                num: 1 + this.data.paperBookList.length
-              })
-              wx.setStorageSync("electronicBookList", [itemAttr]);
-            }
-          } else {
+
+        let isHas = this.data.electronicBookList.find(
+          (eitem) => eitem.id == this.data.bookDetail.id
+        );
+        if (isHas) {
+          wx.showToast({
+            title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        let isApply = this.data.alreadyElectronicBookList.find(
+          (eitem) => eitem.content[0].id == this.data.bookDetail.id
+        );
+        if (isApply) {
+          if (isApply.state == 'WaitAudit') {
             wx.showToast({
-              title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
+              title: "璇ヤ功宸茬敵璇凤紒",
               icon: "none",
               duration: 1000,
-            })
-          }
-        } else {
-          if (this.data.paperBookCount > 0) {
-            const pBookData = this.data.paperBookList
-            if (pBookData.length == 2) {
+            });
+            return false;
+          } else if (isApply.state == 'Normal') {
+            const flag = new Date(isApply.feedBack.endDate + ' 23:59:59').getTime() > new Date().getTime()
+            if (flag) {
               wx.showToast({
-                title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
-                icon: 'none',
+                title: "璇ヤ功宸茬敵璇凤紒",
+                icon: "none",
                 duration: 1000,
-              })
-              return false
+              });
+              return false;
             }
-            if (pBookData.length > 0) {
-              for (let i = 0; i < pBookData.length; i++) {
-                if (pBookData[i].id == item.id) {
-                  isHas = true
-                }
-              }
-              if (!isHas) {
-                wx.showToast({
-                  title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
-                  icon: 'none',
-                  duration: 1000,
-                })
-                this.setData({
-                  paperBookList: [...this.data.paperBookList, ...[itemAttr]],
-                  num: this.data.paperBookList.lenght + this.data.electronicBookList.length
-                })
-                wx.setStorageSync("paperBookList", this.data.paperBookList);
-              } else {
-                wx.showToast({
-                  title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
-                  icon: "none",
-                  duration: 1000,
-                })
-              }
-            } else {
-              wx.showToast({
-                title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
-                icon: 'none',
-                duration: 1000,
-              })
-              this.setData({
-                paperBookList: [itemAttr],
-                num: 1 + this.data.electronicBookList.length
-              })
-              wx.setStorageSync("paperBookList", [itemAttr]);
-            }
-          } else {
-            wx.showToast({
-              title: "鎮ㄧ殑绾歌川鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
-              icon: 'none',
-              duration: 1000,
-            })
           }
         }
+        if (this.data.electronicBookList.length >= 2) {
+          wx.showToast({
+            title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        this.addBookFun(this.data.bookDetail, "eBook");
+      } else {
+        wx.showModal({
+          title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", //鎻愮ず鐨勬爣棰�
+          content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", //鎻愮ず鐨勫唴瀹�
+          confirmColor: "#ff6c00",
+          cancelColor: "#949494",
+          success: function (res) {
+            if (res.confirm) {
+              wx.navigateTo({
+                url: "/packageDomain/pages/teacherCertification/index",
+              });
+            } else if (res.cancel) {}
+          },
+        });
       }
-    })
+    } else {
+      wx.showToast({
+        title: "璇ヤ功涓嶈兘鐢宠鐢靛瓙鏍蜂功",
+        icon: "none",
+        duration: 1000,
+      });
+    }
   },
+  //鐢宠绾歌川鏍蜂功
+  appplyPaperBook() {
+    let role = this.data.userInfo != null ? this.data.userInfo.role : null;
+    if (role && role == "Teacher") {} else {
+      return wx.showModal({
+        title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", //鎻愮ず鐨勬爣棰�
+        content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", //鎻愮ず鐨勫唴瀹�
+        confirmColor: "#ff6c00",
+        cancelColor: "#949494",
+        success: function (res) {
+          if (res.confirm) {
+            wx.navigateTo({
+              url: "/packageDomain/pages/teacherCertification/index",
+            });
+          } else if (res.cancel) {}
+        },
+      });
+    }
+    if (
+      this.data.bookDetail.isApplyBook == 3 ||
+      this.data.bookDetail.isApplyBook == 4
+    ) {
+      let role = this.data.userInfo != null ? this.data.userInfo.role : null;
+      if (role && role == "Teacher") {
+        // 鐐瑰嚮閫変腑
+        if (this.data.paperBookCount == 0) {
+          wx.showToast({
+            title: "鎮ㄧ殑绾歌川鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        let isApply = this.data.alreadyPaperBookList.find(
+          (pitem) => pitem.content[0].id == this.data.bookDetail.id
+        );
+        if (isApply) {
+          wx.showToast({
+            title: "璇ヤ功宸茬敵璇凤紒",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+
+        let isHas = this.data.paperBookList.find(
+          (pitem) => pitem.id == this.data.bookDetail.id
+        );
+        if (isHas) {
+          wx.showToast({
+            title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        if (this.data.paperBookList.length >= 2) {
+          wx.showToast({
+            title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
+            icon: "none",
+            duration: 1000,
+          });
+          return false;
+        }
+        this.addBookFun(this.data.bookDetail, "pBook");
+      } else {
+        wx.showModal({
+          title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", //鎻愮ず鐨勬爣棰�
+          content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", //鎻愮ず鐨勫唴瀹�
+          confirmColor: "#ff6c00",
+          cancelColor: "#949494",
+          success: function (res) {
+            if (res.confirm) {
+              wx.navigateTo({
+                url: "/packageDomain/pages/teacherCertification/index",
+              });
+            } else if (res.cancel) {}
+          },
+        });
+      }
+    } else {
+      wx.showToast({
+        title: "璇ヤ功涓嶈兘鐢宠绾歌川鏍蜂功",
+        icon: "none",
+        duration: 1000,
+      });
+    }
+  },
+  //  娣诲姞鏍蜂功
+  addBookFun(item, type) {
+    let itemAttr = null;
+    const eList = this.data.electronicBookList;
+    const pList = this.data.paperBookList;
+    itemAttr = {
+      id: item.id,
+      title: item.name || "-",
+      icon: item.icon,
+      checked: false,
+      defaultSaleMethodId: item.defaultSaleMethodId,
+      md5: item.datas.Icon,
+      author: item.author || "-",
+      price: item.price || "-",
+      isbn: item.isbn || "-",
+      publicationDate: item.publicationDate,
+    };
+    if (type == "eBook") {
+      eList.push(itemAttr);
+      this.setData({
+        electronicBookList: eList,
+      });
+      wx.setStorageSync("electronicBookList", JSON.stringify(eList));
+    } else {
+      pList.push(itemAttr);
+      this.setData({
+        paperBookList: pList,
+      });
+      wx.setStorageSync("paperBookList", JSON.stringify(pList));
+    }
+    this.setData({
+      num: this.data.num + 1,
+    });
+    wx.showToast({
+      title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
+      icon: "none",
+      duration: 1000,
+    });
+  },
+
   //鍘绘牱涔︾敵璇峰崟
   goApply() {
     wx.navigateTo({
       url: "/packageDomain/pages/sampleBookList/applicationForm/index",
     });
   },
+  handleTree() {
+    // const child = this.selectComponent('#teach-tree')
+    let tree;
+    // let openIds = child.data.openIds
+    if (this.data.tabValue == "jsek_teachingResources") {
+      tree = this.data.teach;
+    } else {
+      tree = this.data.learn;
+    }
+    for (let index = 0; index < tree.length; index++) {
+      const item = tree[index];
+      if (item.children && item.children.length > 0) {
+        const num = this.data.openTeachids.findIndex(
+          (citem) => item.id == citem
+        );
+        if (num >= 0) {
+          item.open = true;
+        } else {
+          item.open = false;
+        }
+        this.handleTree(item.children);
+      }
+    }
+    this.setData({
+      teach: tree,
+    });
+  },
 
-})
+  // 鍓旈櫎鏍戠粨鏋勫浣欙紝鍙繚鐣欏垵濮嬮渶瑕佸睍寮�鐨�
+  // 绗竴姝ワ細淇濈暀鏍戠粨鏋勫墠涓ゅ眰锛屽苟灏嗗睍寮�椤瑰姞鍏ユ暟缁�
+  deleteTreeData(list, openids) {
+    let resultList = []
+    for (let index = 0; index < list.length; index++) {
+      const item = list[index];
+      if (item.children.length > 0) {
+        for (let cindex = 0; cindex < item.children.length; cindex++) {
+          const citem = item.children[cindex];
+          citem.children = []
+        }
+      }
+      resultList.push(item)
+    }
+    for (let index = 0; index < openids.length; index++) {
+      const id = openids[index];
+      // 灞曞紑椤瑰姞鍏ユ暟缁�
+      this.increaseTreeData(list, resultList, id)
+    }
+    return resultList
+  },
+  // 浼犻�抜ds锛屽皢闇�瑕佸睍寮�鐨刬d鐨刢hildren 璧嬪��
+  increaseTreeData(treeList, list, openid) {
+    let num = 0;
+    // let useData = treeList.find(item => item.id == openid)
+    for (let index = 0; index < treeList.length; index++) {
+      const item = treeList[index];
+      if (item.id == openid && num >= 3) {
+        let useArr = item.children ? item.children : []
+        this.changeList(list, openid, useArr)
+      } else {
+        num += 1
+        this.increaseTreeData(item.children, list, openid)
+      }
+    }
+
+  },
+  // 閫掑綊鍓嶄袱灞傦紝鎵惧嚭闇�瑕佸睍寮�鐨�
+  changeList(isList, id, childrenList) {
+    for (let dindex = 0; dindex < isList.length; dindex++) {
+      const ditem = isList[dindex];
+      if (ditem.id == id) {
+        ditem.children = childrenList
+        return true
+      } else {
+        this.changeList(ditem.children, id, childrenList)
+      }
+    }
+    return childrenList
+  },
+  uploadFile(e) {
+    this.setData({
+      dialogBox: true,
+      isShowUp: true
+    });
+  },
+  closeDialog() {
+    this.setData({
+      dialogBox: false,
+      resourceInfo: {
+        resourceName: '',
+        fileType: '',
+        description: '',
+        agree: false
+      },
+    });
+  },
+  onCloseProtocol() {
+    this.setData({
+      protocolShow: false,
+    });
+  },
+  onVisibleChange(e) {
+    this.setData({
+      protocolShow: e.detail.visible,
+    });
+  },
+  //鏌ョ湅鍗忚
+  getAgreement() {
+    let query = {
+      path: 'jsek_protocol',
+      fields: {
+        content: [],
+      }
+    }
+    app.MG.resource.getItem(query).then((res) => {
+      try {
+
+        const data = res.datas.find((e) => e.refCode == 'jsek_authorizationAndConsentLetter')
+        this.setData({
+          protocolTxt: data && data.content ? data.content : '鏆傛棤鍗忚',
+          protocolShow: true
+        });
+      } catch (error) {
+        this.setData({
+          protocolTxt: '鏆傛棤鍗忚',
+          protocolShow: true,
+        });
+      }
+    })
+
+  },
+  onNameInput(e) {
+    this.setData({
+      'resourceInfo.resourceName': e.detail.value,
+    });
+  },
+  onResourcePicker(e) {
+    this.setData({
+      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) {
+    this.setData({
+      'resourceInfo.description': e.detail.value,
+    });
+  },
+  onChange() {
+    if (this.data.resourceInfo.agree) {
+      this.setData({
+        'resourceInfo.agree': false,
+      });
+    } else {
+      this.setData({
+        'resourceInfo.agree': true,
+      });
+    }
+  },
+  uploadPicture() {
+    var that = this;
+    wx.chooseMessageFile({
+      count: 1,
+      type: 'file',
+      success(res) {
+        const isLt2M = res.tempFiles[0].size / 1024 / 1024 < 50
+        if (!isLt2M) {
+          return wx.showToast({
+            title: "涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃 50MB!",
+            icon: "none",
+            duration: 1000,
+          });
+        }
+        const FileName = res.tempFiles[0].name.split('.')[0]
+        const Extension = res.tempFiles[0].name.split('.')[1]
+        var medioType = ''
+        const audioData = ['mp3', 'mp3']
+        const videoData = ['mp4', 'avi']
+        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) {
+          medioType = '瑙嗛'
+        } else if (pdfData.indexOf(Extension) > -1) {
+          medioType = 'PDF'
+        } else if (Compression.indexOf(Extension) > -1) {
+          medioType = '璧勬簮鍖�'
+        } else if (pictureData.indexOf(Extension) > -1) {
+          medioType = '鍥剧墖'
+        } else if (documentData.indexOf(Extension) > -1) {
+          medioType = '鏂囨。'
+        } else {
+          medioType = '鍏朵粬'
+        }
+        wx.getFileSystemManager().getFileInfo({
+          filePath: res.tempFiles[0].path, //閫夋嫨鍥剧墖杩斿洖鐨勭浉瀵硅矾寰�
+          // encoding: 'binary', //缂栫爜鏍煎紡
+          success: ress => {
+            //鎴愬姛鐨勫洖璋�
+            let md5 = ress.digest;
+            let formData = new FormData();
+            formData.append('Md5', md5);
+            formData.append('FileName', FileName);
+            formData.append('FileType', res.tempFiles[0].type);
+            formData.appendFile("file", res.tempFiles[0].path);
+            const data = formData.getData();
+            let _token = wx.getStorageSync(app.config.tokenKey);
+            let header = {};
+            if (_token == null) {
+              header["Authorization"] = `Basic ${Base64.encode(website.clientId + ":" + website.clientSecret)}`;
+            } else {
+              header["Authorization"] = `Bearer ` + _token;
+            }
+            new Promise((resolve, reject) => {
+              wx.request({
+                url: app.config.requestCtx + '/file/api/ApiUpload',
+                method: 'POST',
+                header: {
+                  'content-type': data.contentType,
+                  ...header
+                },
+                data: data.buffer,
+                success(res1) {
+                  resolve(res1.data);
+                  if (res1.data) {
+                    let file = [{
+                      name: res.tempFiles[0].name,
+                      md5: md5,
+                      type: medioType,
+                      FileType: Extension
+                    }]
+                    that.setData({
+                      "resourceInfo.resourceName": FileName,
+                      "resourceInfo.fileType": medioType,
+
+                      fileList: file,
+                      isShowUp: false
+                    })
+                  }
+                }
+              })
+            })
+          }
+        })
+      }
+    })
+
+  },
+  handleRemove(e) {
+    this.setData({
+      isShowUp: true,
+      fileList: []
+    });
+  },
+  confirmM() {
+    if (this.data.resourceInfo.resourceName == '') {
+      return wx.showToast({
+        icon: "error",
+        title: "璇峰~鍐欒祫婧愬悕绉�",
+      });
+    }
+    if (this.data.resourceInfo.fileType == '') {
+      return wx.showToast({
+        icon: "error",
+        title: "璇烽�夋嫨璧勬簮绫诲瀷",
+      });
+    }
+
+    if (!this.data.fileList.length) {
+      return wx.showToast({
+        icon: "error",
+        title: "璇蜂笂浼犺祫婧愭枃浠�",
+      });
+    }
+    if (!this.data.resourceInfo.agree) {
+      return wx.showToast({
+        icon: "none",
+        title: "璇峰悓鎰忋�婃巿鏉冨悓鎰忎功銆嬶紒",
+      });
+    }
+    let query = {
+      topicIdOrRefCode: "uploadFiles",
+      name: this.data.bookDetail.name,
+      content: JSON.stringify(JSON.parse(JSON.stringify(this.data.fileList))),
+      type: 'UserSubmit',
+      description: this.data.resourceInfo.description,
+      cmsTypeRefCode: '',
+      newDataListRequest: []
+    }
+    app.MG.ugc.newTopicMessage(query).then((res) => {
+      wx.showToast({
+        icon: "success",
+        title: "璇蜂笂浼犺祫婧愭枃浠�",
+      });
+      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