From 3f1ea0a8e4bb02bf7544df8660b15cfa69d6b84a Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期五, 15 三月 2024 18:54:04 +0800
Subject: [PATCH] Merge refs/remotes/origin/master into refs/heads/master

---
 pages/bookServices/detail/index.js |  922 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 898 insertions(+), 24 deletions(-)

diff --git a/pages/bookServices/detail/index.js b/pages/bookServices/detail/index.js
index 324478a..406ce39 100644
--- a/pages/bookServices/detail/index.js
+++ b/pages/bookServices/detail/index.js
@@ -1,11 +1,13 @@
 // pages/bookServices/detail/index.js
-import Message from 'tdesign-miniprogram/message/index';
+import Message from 'tdesign-miniprogram/message/index.js';
+import Toast from 'tdesign-miniprogram/toast/index';
 const app = getApp();
 Page({
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
+    bookId: '',
     barHeight: '',
     navBarHeight: '',
     options: {
@@ -19,8 +21,44 @@
       dang: '',
       micro: '',
     },
+    tabValue: 'brief',
+    cmsDatas: [], // 璧勬簮refCode鍒楄〃
+    ids: [1],
+    list: [],
+    teachResources: [],
+    teach: [],
+    learn: [],
+    test: [],
+    openTeachids: [],
+    openLearnids: [],
+    openTestids: [],
+    resourceClassList: [], // 璧勬簮鎵�灞炲垎绫�
+    applyState: "",  // 鏁欏璧勬簮鐢宠鐘舵��
+    deadline: "",  // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡
+    rejectCause: "",  // 涓嬭浇鎷掔粷鍘熷洜
+    buyIdList: [],
+    shoppingCartGetId: [], // 宸茶喘涔癷d鍒楄〃
+    shoppingList: [],
+    loading: false,
+    isShowTeachDownload: false,  // 鎻愮ずPC涓嬭浇寮圭獥鐘舵��
+    confirmBtn: { content: '鎴戠煡閬撲簡', variant: 'base' },
+    mockData: {
+      id: 0, // 閿�鍞甶d
+      price: 0, // 鍞环
+      count: 0, // 缁勫嵎宸茶喘涔版鏁�
+      useCount: 0, // 缁勪欢宸蹭娇鐢ㄦ鏁�
+      residue: 0, // 缁勫嵎鍓╀綑娆℃暟
+      mockList: [] // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅
+    }
   },
 
+
+  resetTree: function (e) {
+    this.setData({
+      currentCheck: e.detail.checkedItem,
+      list: e.detail.changeList
+    })
+  },
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
@@ -29,6 +67,7 @@
     const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅
     const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴�
     this.setData({
+      bookId: options.id,
       barHeight: systInfo.statusBarHeight,
       navBarHeight: navBarHeight,
     });
@@ -39,42 +78,59 @@
       },
     });
     this.getBookInfo(options.id);
+    this.getResourceClass() // 鑾峰彇璧勬簮鎵�灞炲垎绫�
+    const token = wx.getStorageSync('jsek-token')
+    if (token) {
+      this.getShoppingCartProductGet()
+      this.getApplyInfo(options.id)
+      this.getMockData()
+    }
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
    */
-  onReady() {},
+  onReady() {
+
+  },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
-  onShow() {},
+  onShow() { },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
    */
-  onHide() {},
+  onHide() { },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
    */
-  onUnload() {},
+  onUnload() { },
 
   /**
    * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
    */
-  onPullDownRefresh() {},
+  onPullDownRefresh() {
+
+
+  },
 
   /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
-  onReachBottom() {},
+  onReachBottom() {
+    if (this.data.tabValue == 'jesk_note') {
+      const child = this.selectComponent('#note')
+      child.onReachBottom()
+    }
+  },
 
   /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
-  onShareAppMessage() {},
+  onShareAppMessage() { },
   // 鏍煎紡鍖栨棩鏈�
   formatDate(dateString) {
     if (!dateString) {
@@ -132,6 +188,11 @@
   },
   // 鑾峰彇鍥句功璇︽儏
   getBookInfo(id) {
+    this.setData({
+      "mockData'.id": 0,
+      "mockData.price": 0,
+      "mockData.count": 0
+    })
     const query = {
       path: '*',
       queryType: '*',
@@ -166,35 +227,62 @@
         freeEpubPage: [], //epub璇曡鐧惧垎姣�
       },
     };
-    app.MG.store.getProductDetail(query).then((res) => {
+    app.MG.store.getProductDetail(query).then(async (res) => {
+      console.log(res.datas);
       this.setData({
         bookDetail: res.datas,
+        cmsDatas: res.datas.cmsDatas[0].datas,
+        buyIdList: res.datas.purchasedSaleMethodIdList
       });
-      console.log('璇︽儏', res.datas);
       // 鑾峰彇鍥句功鍒嗙被
       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)
+      // 鑾峰彇缁勫嵎閿�鍞甶d
+      if (res.datas.saleMethod && res.datas.saleMethod.length) {
+        res.datas.saleMethod.forEach((item) => {
+          if (item.SaleType == 'combinationTestPaper') {
+            this.setData({
+              'mockData.id': item.Id,
+              'mockData.price': item.Price
+            })
+          }
+        })
+      }
+      // 鑾峰彇缁勫嵎宸茶喘涔版鏁�
+      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
+          this.setData({
+            'mockData.count': count
+          })
+        }
+      }
+      console.log('缁勫嵎淇℃伅', this.data.mockData);
       this.setData({
         'bookDetail.publicationDate': this.formatDate(this.data.bookDetail.publicationDate),
-        'bookDetail.class': this.getBookClass(iconType, classType),
+        '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),
       });
     });
+
   },
   // 鑾峰彇鍥句功鍒嗙被
-  getBookClass(iconType, classType) {
+  async getBookClass(iconType, classType) {
     let name = '';
     const query = {
       refCodes: ['bookClassification'],
     };
-    app.MG.store.getProductTypeField(query).then((res) => {
+    await app.MG.store.getProductTypeField(query).then((res) => {
       JSON.parse(res[0].config).option.forEach((item) => {
         if (item.value == iconType) {
-          item.child.forEach((item) => {
-            if (item.value == classType) {
-              name = item.name;
+          item.child.forEach((citem) => {
+            if (citem.value == classType) {
+              name = citem.name;
             }
           });
         }
@@ -211,12 +299,14 @@
           linkType: 'FavoriteBookCity',
         })
         .then(() => {
-          this.data.bookDetail.isFavourite = false;
+          this.setData({
+            'bookDetail.isFavourite': false
+          })
           Message.success({
             context: this,
-            offset: ['20rpx', '32rpx'],
-            duration: 2000,
-            content: '鍙栨秷鏀惰棌',
+            offset: [20, 32],
+            duration: 5000,
+            content: '杩欐槸涓�鏉℃垚鍔熺殑鎻愮ず娑堟伅',
           });
         });
     } else {
@@ -225,8 +315,9 @@
         linkType: 'FavoriteBookCity',
       };
       app.MG.store.addProductLink(params).then((res) => {
-        console.log(res);
-        this.data.bookDetail.isFavourite = true;
+        this.setData({
+          'bookDetail.isFavourite': true
+        })
         Message.success({
           context: this,
           offset: ['20rpx', '32rpx'],
@@ -236,11 +327,794 @@
       });
     }
   },
+  // 鎴戣寤鸿
+  suggestBtn() {
+    const child = this.selectComponent('#suggest-component')
+    child.showDialog()
+  },
   // 璺宠浆缃戝簵
   goShop(e) {
     const { link } = e.currentTarget.dataset;
     wx.navigateTo({
-      url: link,
+      url: `/pages/bookServices/webpage/index?url=${link}`,
+    })
+  },
+  onTabsChange(e) {
+    this.setData({
+      tabValue: e.detail.value
+    })
+    if (e.detail.label == '鏁欏璧勬簮' || e.detail.label == '浜戝涔�' || e.detail.label == '浜戞祴璇�') {
+      const checkData = this.data.cmsDatas.find(item => item.refCode == e.detail.value)
+      if (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)) {
+          this.getResourceData(checkData)
+        }
+
+      }
+    } else if (e.detail.label == '浜戠瑪璁�') {
+      const token = wx.getStorageSync('jsek-token')
+      const child = this.selectComponent('#note')
+      child.handleSubmitTitle()
+      if (token) {
+        child.changeLoading()
+        child.getNoteList()
+      }
+
+    }
+  },
+  // 鑾峰彇璧勬簮鎵�灞炲垎绫�
+  getResourceClass() {
+    let query = {
+      refCodes: ['resourcesClassification']
+    }
+    app.MG.store.getProductTypeField(query).then((res) => {
+      this.setData({
+        resourceClassList: JSON.parse(res[0].config).option
+      })
+    })
+  },
+  //  鑾峰彇鏁欏璧勬簮  浜戝涔�  浜戞祴璇�
+  getResourceData(type) {
+    this.setData({
+      loading: true
+    })
+    let query = {
+      path: '*',
+      queryType: '*',
+      productId: this.data.bookDetail.id,
+      cmsPath: type.productLinkPath,
+      itemFields: {
+        SysType: 'CmsFolder',
+        // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
+        selectType: [],
+        freeFile: [],
+        file: [],
+        resourcesClassification: [],
+        isDownload: [],
+        jsek_resourceBrief: [],
+        jsek_link: [],
+        jsek_questionBank: []
+      },
+      pading: {
+        start: 0,
+        size: 999
+      },
+    }
+    app.MG.store
+      .getProductDetail(query)
+      .then(async (res) => {
+        // 浜戞祴璇曪紝閫掑綊璇锋眰閲屽眰鏁版嵁
+        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) {
+            if (type.refCode == 'jsek_teachingResources') {
+              res.datas.cmsDatas[0].datas.forEach(item => {
+                item.checked = false
+              })
+              const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
+
+              console.log(list, 'list');
+              this.setData({
+                teach: list,
+                loading: false
+              })
+              this.findChildIds(this.data.teach, this.data.openTeachids = [])
+            } else if (type.refCode == 'jsek_cloudLearning') {
+              const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
+              this.setData({
+                learn: list,
+                loading: false
+              })
+              this.findChildIds(this.data.learn, this.data.openLearnids = [])
+            }
+          } 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)
+      }
+    }
+    return data
+  },
+  // 鑾峰彇璧勬簮鎺ュ彛
+  async getFolderItem(path) {
+    let query = {
+      path: '*',
+      queryType: '*',
+      productId: this.data.bookDetail.id,
+      cmsPath: path,
+      itemFields: {
+        SysType: 'CmsFolder',
+        // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁�
+        selectType: [],
+        freeFile: [],
+        file: [],
+        protectedFile: [],
+        resourcesClassification: [],
+        isDownload: [],
+        jsek_resourceBrief: [],
+        jsek_link: [],
+        accessType: []
+      },
+      pading: {
+        start: 0,
+        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
+          }
+        }
+        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.isbuy = this.resourceIsBuy(item)
+        item.isShopCar = this.isShoppingCart(item)
+      }
+    })
+    return data.datas.cmsDatas[0].datas
+  },
+  // 鑾峰彇灞曞紑椤�
+  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
+              }
+            } else {
+              break
+            }
+          }
+        } else if (item.childrenCount > 0) {
+          result.push(item.id)
+          index += 1
+        }
+      } else {
+        break
+      }
+    }
+  },
+
+  // 鍥句功娣诲姞璐墿杞�
+  async addBookShopcCar() {
+    const shoppingCartGetId = []
+
+    let query = {
+      start: 0,
+      size: 999,
+      filterList: [],
+      searchList: []
+    }
+    const res = await app.MG.store.getShoppingCartProductList(query)
+    res.datas.forEach((item) => {
+      shoppingCartGetId.push(item.saleMethod.id)
+    })
+    console.log(shoppingCartGetId, 'shoppingCartGetId');
+    console.log(this.data.bookDetail.defaultSaleMethodId, 'this.data.bookDetail.defaultSaleMethodId');
+    const determine = shoppingCartGetId.some((item) => item == this.data.bookDetail.defaultSaleMethodId)
+    console.log(determine);
+
+    if (!determine) {
+      let query = {
+        requests: [
+          {
+            saleMethodId: this.data.bookDetail.defaultSaleMethodId,
+            storeEventId: null,
+            agentCode: '鐢靛瓙涔�'
+          }
+        ]
+      }
+      const addRes = app.MG.store.addShoppingCart(query)
+      this.showSuccessToast()
+
+    } else {
+      Toast({
+        context: this,
+        selector: '#t-toast',
+        message: '宸叉坊鍔�',
+        theme: 'success',
+        direction: 'column',
+      });
+    }
+
+  },
+
+  showSuccessToast() {
+    Toast({
+      context: this,
+      selector: '#t-toast',
+      message: '娣诲姞鎴愬姛',
+      theme: 'success',
+      direction: 'column',
     });
   },
-});
+
+
+
+  async buyBook() {
+    let bookOrdersId = ''
+    let query = {
+      remarks: '鐢靛瓙涔�',
+      requests: [
+        {
+          saleMethodId: this.data.bookDetail.defaultSaleMethodId,
+          count: 1
+        }
+      ]
+    }
+    // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉
+    const res = await app.MG.store.initOrder(query)
+    // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value
+    bookOrdersId = res.orderNumber
+    console.log(bookOrdersId);
+    // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪
+    if (bookOrdersId) {
+      const url = '/pages/cart/paymentPage/index?orderNumber=' + bookOrdersId
+      wx.navigateTo({
+        url
+      })
+    } else {
+      console.log(222);
+    }
+
+  },
+
+  // 鑾峰彇鏁欏璧勬簮涓嬭浇鏄惁鐢宠閫氳繃
+  getApplyInfo(id) {
+    // 鑾峰彇褰撳墠鏃堕棿
+    const currentDate = new Date()
+    let query = {
+      sort: {
+        type: 'Desc',
+        field: 'CreateDate'
+      },
+      start: 0,
+      size: 99999,
+      appRefCode: app.config.appRefCode,
+      topicIdOrRefCode: 'productDownLoad'
+    }
+    app.MG.ugc.getTopicMessageList(query).then((res) => {
+      const applyResource = res.datas.find((item) => {
+        let content = []
+        try {
+          content = JSON.parse(item.content)
+        } catch (error) {
+          content = []
+        }
+        if (Array.isArray(content)) return content.find((citem) => citem.id == id)
+        return false
+      })
+      // 鏈夌敵璇疯褰�
+      if (applyResource) {
+        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
+          // const endDate = new Date(JSON.parse(applyResource.feedBack).endDate + ' 23:59:59').getTime()
+          if (endDate == '姘镐箙') {
+            this.setData({
+              applyState: 'Normal',
+              deadline: '姘镐箙',
+            })
+            console.log('鏈夋晥鏃ユ湡', this.data.deadline);
+          } else {
+
+            let endTime = new Date(endDate + ' 23:59:59').getTime()
+            this.setData({
+              deadline: endDate + ' 23:59:59'
+            })
+            if (currentDate.getTime() < endTime) {
+              // 鏈秴鏃�
+              this.setData({
+                applyState: 'Normal'
+              })
+            } else {
+              this.setData({
+                applyState: 'none'
+              })
+            }
+          }
+        } else {
+          this.setData({
+            applyState: applyResource.state
+          })
+        }
+      } else {
+        this.setData({
+          applyState: 'none'
+        })
+      }
+    })
+    console.log('鏈夋晥鏃ユ湡', this.data.deadline);
+  },
+  // 鐢宠鏁欏璧勬簮
+  applyResource() {
+    // 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) {
+        Message.success('鐢宠宸叉彁浜わ紝璇峰緟瀹℃牳閫氳繃鍚庝笅杞�')
+      }
+      this.getApplyInfo(this.data.bookDetail.id)
+    })
+    //   } else {
+    //     ElMessageBox.confirm('璇峰厛杩涜鏁欏笀璁よ瘉锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', {
+    //       confirmButtonText: '鍘昏璇�',
+    //       cancelButtonText: '鍙栨秷',
+    //       type: 'warning'
+    //     })
+    //       .then(() => {
+    //         isShow.value = true
+    //       })
+    //       .catch(() => { })
+    //   }
+    // } else {
+    //   // logIn()
+    // }
+  },
+  // 鏁欏璧勬簮涓嬭浇鍓嶅線PC鎻愮ずDiialog
+  closeTeachDownload() {
+    this.setData({
+      isShowTeachDownload: false
+    })
+  },
+  // 涓嬭浇鍔熻兘
+  downloadTeach(e) {
+    this.setData({
+      isShowTeachDownload: true
+    })
+    console.log('zhuan', this.data.isShowTeachDownload);
+    //   const data = e.detail.value
+    //   // const data
+    //   // let role = userStore.userInfo ? userStore.userInfo.role : null
+    //   // if (role) {
+    //   //   if (role == 'Teacher') {
+    //   if (this.properties.applyState == 'Normal' || this.properties.applyState == 'none') {
+    //     // 鏄惁鍏佽涓嬭浇
+    //     if (data.isDownload == 1) {
+    //       // 鐢宠閫氳繃
+    //       let url = app.config.requestCtx + '/file/api/ApiDownloadForAuthorize?md5='
+    //       if (data.file) {
+    //         // 鍒ゆ柇鏄惁绉佹湁
+    //         if (data.fileMap[data.file].protectType == 'Private')
+    //           return Message.error({
+    //             context: this,
+    //             offset: ['20rpx', '32rpx'],
+    //             duration: 5000,
+    //             content: '璇ユ枃浠舵棤娉曚笅杞�'
+    //           })
+    //         url = url + data.file + '&token=' + wx.getStorageSync('jsek-token')
+    //       } else if (data.freeFile) {
+    //         url = url + data.freeFile + '&token=' + wx.getStorageSync('jsek-token')
+    //       } else {
+    //         Message.error({
+    //           context: this,
+    //           offset: ['20rpx', '32rpx'],
+    //           duration: 5000,
+    //           content: '鏆傛棤璧勬簮',
+    //         })
+    //       }
+    //       this.downloadFile(url)
+    //     } else {
+    //       Message.error({
+    //         context: this,
+    //         offset: ['20rpx', '32rpx'],
+    //         duration: 5000,
+    //         content: '璇ヨ祫婧愭棤娉曚笅杞�',
+    //       })
+    //     }
+    //   } else if (this.properties.applyState == 'WaitAudit') {
+    //     // ElMessageBox.confirm('璇峰厛鐢宠涓嬭浇锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', {
+    //     //   confirmButtonText: '鐢宠',
+    //     //   cancelButtonText: '鍙栨秷',
+    //     //   type: 'warning'
+    //     // })
+    //     //   .then(() => applyBookInfo())
+    //     //   .catch()
+    //     Message.error({
+    //       context: this,
+    //       offset: ['20rpx', '32rpx'],
+    //       duration: 5000,
+    //       content: '璇ヨ祫婧愪笅杞界敵璇峰鏍镐腑',
+    //     })
+    //   } else if (this.properties.applyState == 'Reject') {
+    //     Message.error({
+    //       context: this,
+    //       offset: ['20rpx', '32rpx'],
+    //       duration: 5000,
+    //       content: '璧勬簮涓嬭浇鐢宠鏈�氳繃'
+    //     })
+
+    //   } else {
+    //     // Message.error({
+    //     //   context: this,
+    //     //   offset: ['20rpx', '32rpx'],
+    //     //   duration: 5000,
+    //     //   content: '璇峰厛鐢宠涓嬭浇'
+    //     // })
+    //     console.log('璇峰厛鐢宠涓嬭浇');
+    //   }
+    //   //   } else {
+    //   //     ElMessageBox.confirm('璇峰厛杩涜鏁欏笀璁よ瘉锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', {
+    //   //       confirmButtonText: '鍘昏璇�',
+    //   //       cancelButtonText: '鍙栨秷',
+    //   //       type: 'warning'
+    //   //     })
+    //   //       .then(() => {
+    //   //         isShow.value = true
+    //   //       })
+    //   //       .catch(() => { })
+    //   //   }
+    //   // } else {
+    //   //   logIn()
+    //   // }
+  },
+  downloadFile(url) {
+    wx.downloadFile({
+      url: url,
+      success: function (res) {
+        // 涓嬭浇鎴愬姛鍚庯紝璋冪敤saveImageToPhotosAlbum鍑芥暟淇濆瓨鍥剧墖鍒版湰鍦�
+        wx.saveFile({
+          tempFilePath: res.tempFilePath,
+          success: function (res) {
+            wx.showToast({
+              title: '涓嬭浇鎴愬姛',
+              icon: 'success'
+            })
+          },
+          fail: function (res) {
+            wx.showToast({
+              title: '涓嬭浇澶辫触',
+              icon: 'none'
+            })
+          }
+        })
+      },
+      fail: function (res) {
+        wx.showToast({
+          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
+    } else {
+      return false
+    }
+  },
+  // 鑾峰彇宸茶喘涔板晢鍝�
+  getShoppingCartProductGet() {
+    let query = {
+      start: 0,
+      size: 999,
+      filterList: [],
+      searchList: []
+    }
+    app.MG.store.getShoppingCartProductList(query).then((res) => {
+      const list = []
+      res.datas.forEach((item) => {
+        list.push(item.saleMethod.id)
+      })
+      this.setData({
+        shoppingList: res.datas,
+        shoppingCartGetId: list
+      })
+    })
+  },
+  // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀�
+  isShoppingCart(data) {
+    if (data.saleMethod && data.saleMethod.length) {
+      if (data.saleMethod[0].Price <= 0) return false
+      // 鍐嶅垽鏂槸鍚﹁喘涔�
+      const isBuy = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id)
+      if (isBuy) {
+        // 璐拱浜�
+        return false
+      } else {
+        // 鍒ゆ柇鏄惁鍔犲叆璐墿杞�
+        const isSHow = this.data.shoppingCartGetId.some((item) => item == data.saleMethod[0].Id)
+        return !isSHow
+      }
+    } else {
+      return false
+    }
+  },
+  // 閬嶅巻鏍戠粨鏋勮浆鎹负鏁扮粍鏂规硶
+  handleTreeData(array) {
+    const flattenedArray = []
+    array.forEach((node) => {
+      // 灏嗗綋鍓嶈妭鐐规坊鍔犲埌灞曞紑鐨勬暟缁勪腑
+      flattenedArray.push(node)
+      // 閫掑綊澶勭悊瀛愯妭鐐�
+      if (node.children && node.children.length > 0) {
+        const childrenArray = this.handleTreeData(node.children)
+        flattenedArray.push(...childrenArray)
+      }
+    })
+    return flattenedArray.filter((item) => item.sysType == 'CmsItem')
+  },
+  // 浜戝涔犱竴閿鍙�
+  async getFreeResource() {
+    const child = this.selectComponent('#learn-resource')
+    const token = wx.getStorageSync('jsek-token')
+    if (!token) {
+      return wx.getUserProfile({
+        desc: '鐢ㄦ埛鐧诲綍',
+        success: (res) => {
+          console.log(res);
+        }
+      })
+    }
+    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,
+          count: 1
+        })
+      }
+    })
+
+    let query = {
+      remarks: '浜戝涔�',
+      requests,
+    }
+    try {
+      const initOrderRes = await app.MG.store.initOrder(query)
+      let parameter = {
+        orderNum: initOrderRes.orderNumber
+      }
+      // 纭璁㈠崟
+      const confirmOrderRes = await app.MG.store.confirmOrder(parameter)
+      if (confirmOrderRes.orderNumber) {
+        child.changeReceive(false)
+        wx.showToast({
+          title: '棰嗗彇鎴愬姛',
+        })
+        this.getBookInfo(this.data.bookId)
+      }
+    } catch (error) {
+      console.log(error)
+    }
+  },
+  // 浜戝涔犱竴閿喘涔�
+  async allAddShoppiingCar() {
+    const child = this.selectComponent('#learn-resource')
+    const token = wx.getStorageSync('jsek-token')
+    if (!token) {
+      return wx.getUserProfile({
+        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 = []
+    shopList.forEach((item) => {
+      requests.push({
+        saleMethodId: item.saleMethod[0].Id,
+        count: 1,
+      })
+    })
+    let query = {
+      remarks: '浜戝涔�',
+      requests,
+    }
+    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: '璇烽噸璇�',
+      })
+    }
+  },
+  // 鍙樹负鎵�鏈塩heck   true
+  findAndUpdateItemsByIds(tree, ids) {
+    function findAndUpdate(node) {
+      if (ids.includes(node.id)) {
+        node.checked = true; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
+      }
+      if (node.children && node.children.length > 0) {
+        for (let child of node.children) {
+          findAndUpdate(child); // 閫掑綊澶勭悊瀛愯妭鐐�
+        }
+      }
+    }
+
+    for (let node of tree) {
+      findAndUpdate(node); // 瀵规瘡涓《灞傝妭鐐规墽琛屾煡鎵惧拰鏇存柊鎿嶄綔
+    }
+    return tree; // 杩斿洖淇敼鍚庣殑瀹屾暣鏁扮粍
+  },
+  handleTrue() {
+    // findAndUpdateItemsByIds(this.date.)
+  },
+  // 缁勫嵎鏍煎紡鍖栨棩鏈熸樉绀�
+  DateFormat(date, fmt) {
+    if (date && fmt) {
+      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() //姣
+      }
+      if (/(y+)/.test(fmt)) {
+        fmt = fmt.replace(RegExp.$1, (_date.getFullYear() + '').substr(4 - RegExp.$1.length))
+      }
+      for (var k in o) {
+        if (new RegExp('(' + k + ')').test(fmt)) {
+          fmt = fmt.replace(
+            RegExp.$1,
+            RegExp.$1.length == 1
+              ? (o)[k]
+              : ('00' + (o)[k]).substr(('' + (o)[k]).length)
+          )
+        }
+      }
+      return fmt
+    } else {
+      return ''
+    }
+  },
+  // 鑾峰彇缁勫嵎绛旈鏁版嵁
+  getMockData() {
+    this.setData({
+      'mockData.useCount': 0,
+      'mockData.mockList': []
+    })
+    app.MG.identity
+      .getUserKey({
+        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')
+          })
+          this.setData({
+            'mockData.mockList': mock
+          })
+          // 缁勫嵎宸蹭娇鐢ㄦ鏁�
+          res.forEach((item) => {
+            // 宸茬粡鏈夌瓟棰樺垎鏁扮瓑鏁版嵁锛岃瘉鏄庣粍鍗峰凡缁忎娇鐢ㄥ畬姣�
+            if (item.resultData) {
+              this.setData({
+                'mockData.useCount': this.data.mockData.useCount + 1
+              })
+            }
+          })
+        }
+      })
+  }
+
+})

--
Gitblit v1.9.1