From f4425543db1c8db8c47a34c53ef477e72cfe318e Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期一, 11 三月 2024 18:19:56 +0800
Subject: [PATCH] feat(答题器): 答题器

---
 pages/bookServices/detail/index.js |  345 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 230 insertions(+), 115 deletions(-)

diff --git a/pages/bookServices/detail/index.js b/pages/bookServices/detail/index.js
index ee631de..396240d 100644
--- a/pages/bookServices/detail/index.js
+++ b/pages/bookServices/detail/index.js
@@ -37,7 +37,10 @@
     rejectCause: "",  // 涓嬭浇鎷掔粷鍘熷洜
     buyIdList: [],
     shoppingCartGetId: [], // 宸茶喘涔癷d鍒楄〃
-    shoppingList: []
+    shoppingList: [],
+    loading: false,
+    isShowTeachDownload: false,  // 鎻愮ずPC涓嬭浇寮圭獥鐘舵��
+    confirmBtn: { content: '鎴戠煡閬撲簡', variant: 'base' },
   },
 
   resetTree: function (e) {
@@ -98,12 +101,20 @@
   /**
    * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
    */
-  onPullDownRefresh() { },
+  onPullDownRefresh() {
+
+
+  },
 
   /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
-  onReachBottom() { },
+  onReachBottom() {
+    if (this.data.tabValue == 'jesk_note') {
+      const child = this.selectComponent('#note')
+      child.onReachBottom()
+    }
+  },
 
   /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
@@ -200,7 +211,8 @@
         freeEpubPage: [], //epub璇曡鐧惧垎姣�
       },
     };
-    app.MG.store.getProductDetail(query).then((res) => {
+    app.MG.store.getProductDetail(query).then(async (res) => {
+
       this.setData({
         bookDetail: res.datas,
         cmsDatas: res.datas.cmsDatas[0].datas,
@@ -209,9 +221,10 @@
       // 鑾峰彇鍥句功鍒嗙被
       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)
       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),
@@ -219,17 +232,17 @@
     });
   },
   // 鑾峰彇鍥句功鍒嗙被
-  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;
             }
           });
         }
@@ -298,7 +311,17 @@
           || (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()
+      }
+
     }
   },
   // 鑾峰彇璧勬簮鎵�灞炲垎绫�
@@ -314,6 +337,9 @@
   },
   //  鑾峰彇鏁欏璧勬簮  浜戝涔�  浜戞祴璇�
   getResourceData(type) {
+    this.setData({
+      loading: true
+    })
     let query = {
       path: '*',
       queryType: '*',
@@ -355,13 +381,15 @@
               })
               const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
               this.setData({
-                teach: list
+                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
+                learn: list,
+                loading: false
               })
               this.findChildIds(this.data.learn, this.data.openLearnids = [])
             }
@@ -371,10 +399,9 @@
         } else if (type.refCode == 'jsek_questionBank') {
           // const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
           this.setData({
-            test: res.datas.cmsDatas[0].datas
+            test: res.datas.cmsDatas[0].datas,
+            loading: false
           })
-          // this.findChildIds(this.data.test, this.data.openTestids = [])
-          console.log('浜戞祴璇�', this.data.test);
         } else {
           console.log('鍏朵粬');
         }
@@ -528,14 +555,14 @@
           const endDate = JSON.parse(applyResource.feedBack).endDate
           // const endDate = new Date(JSON.parse(applyResource.feedBack).endDate + ' 23:59:59').getTime()
           if (endDate == '姘镐箙') {
-            // deadline.value = '姘镐箙'
             this.setData({
               applyState: 'Normal',
               deadline: '姘镐箙',
             })
+            console.log('鏈夋晥鏃ユ湡', this.data.deadline);
           } else {
+
             let endTime = new Date(endDate + ' 23:59:59').getTime()
-            // deadline.value = endDate + ' 23:59:59'
             this.setData({
               deadline: endDate + ' 23:59:59'
             })
@@ -560,9 +587,8 @@
           applyState: 'none'
         })
       }
-      console.log('鐢宠閫氳繃', this.data.applyState);
     })
-
+    console.log('鏈夋晥鏃ユ湡', this.data.deadline);
   },
   // 鐢宠鏁欏璧勬簮
   applyResource() {
@@ -607,92 +633,102 @@
     //   // logIn()
     // }
   },
+  // 鏁欏璧勬簮涓嬭浇鍓嶅線PC鎻愮ずDiialog
+  closeTeachDownload() {
+    this.setData({
+      isShowTeachDownload: false
+    })
+  },
+  // 涓嬭浇鍔熻兘
   downloadTeach(e) {
-
-    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
+    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: '璇ヨ祫婧愭棤娉曚笅杞�',
     //       })
-    //       .catch(() => { })
+    //     }
+    //   } 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 {
-    //   logIn()
-    // }
+    //   //   } else {
+    //   //     ElMessageBox.confirm('璇峰厛杩涜鏁欏笀璁よ瘉锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', {
+    //   //       confirmButtonText: '鍘昏璇�',
+    //   //       cancelButtonText: '鍙栨秷',
+    //   //       type: 'warning'
+    //   //     })
+    //   //       .then(() => {
+    //   //         isShow.value = true
+    //   //       })
+    //   //       .catch(() => { })
+    //   //   }
+    //   // } else {
+    //   //   logIn()
+    //   // }
   },
   downloadFile(url) {
     wx.downloadFile({
@@ -749,7 +785,6 @@
         shoppingList: res.datas,
         shoppingCartGetId: list
       })
-      console.log('璐拱', this.data);
     })
   },
   // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀�
@@ -778,7 +813,7 @@
       flattenedArray.push(node)
       // 閫掑綊澶勭悊瀛愯妭鐐�
       if (node.children && node.children.length > 0) {
-        const childrenArray = handleTreeData(node.children)
+        const childrenArray = this.handleTreeData(node.children)
         flattenedArray.push(...childrenArray)
       }
     })
@@ -786,18 +821,28 @@
   },
   // 浜戝涔犱竴閿鍙�
   async getFreeResource() {
-    // if (!localStorage.getItem('jsek-token')) {
-    //   return logIn()
-    // }
-    let arr = handleTreeData(this.data.learn).filter((item) => resourceIsBuy(item))
+    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 console.log('鏆傛棤鍏嶈垂璧勬簮')
-    btnLoading.freeBtn = true
+    if (!freeIds.length) return wx.showToast({
+      icon: "error",
+      title: '鏆傛棤鍏嶈垂璧勬簮',
+    })
+    child.changeReceive(true)
     let requests = []
     freeIds.forEach((item, index) => {
-      if (resourceIsBuy(item)) {
+      if (this.resourceIsBuy(item)) {
         requests.push({
           saleMethodId: item.saleMethod[0].Id,
           count: 1
@@ -815,14 +860,84 @@
         orderNum: initOrderRes.orderNumber
       }
       // 纭璁㈠崟
-      const confirmOrderRes = await MG.store.confirmOrder(parameter)
+      const confirmOrderRes = await app.MG.store.confirmOrder(parameter)
       if (confirmOrderRes.orderNumber) {
-        // btnLoading.freeBtn = false
-        console.log('棰嗗彇鎴愬叡');
+        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}&orderNum=${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.)
+  },
+
 })

--
Gitblit v1.9.1