From 4df5e250646fa201c08f38dfb77cfb49e53706fc Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期四, 10 七月 2025 19:15:11 +0800 Subject: [PATCH] ---资源购买处理 --- packageDomain/pages/resourceDetails/document/index.js | 103 +++++++++++++++++++++------------------------------ 1 files changed, 42 insertions(+), 61 deletions(-) diff --git a/packageDomain/pages/resourceDetails/document/index.js b/packageDomain/pages/resourceDetails/document/index.js index 61b6cf9..70a9293 100644 --- a/packageDomain/pages/resourceDetails/document/index.js +++ b/packageDomain/pages/resourceDetails/document/index.js @@ -58,6 +58,7 @@ selectTypeData: '', promptVisable: false, showMd5: '', + source: "", confirmBtn: { content: '纭畾', variant: 'base', @@ -87,6 +88,7 @@ applyState: options.applyState, deadline: options.deadline, formPath: options.formPath, + source: options.source, }) if (options.formPath == 'jsek_cloudLearning') { this.setData({ @@ -334,19 +336,25 @@ if (this.data.storeInfo) { query.storeInfo = this.data.storeInfo } - app.MG.store.getProductDetail(query).then((res) => { + app.MG.store.getProductDetail(query).then(async (res) => { + wx.hideLoading(); + const list = res.datas.cmsDatas[0]?.datas + if (this.data.source == 'qrcode') { + let qrData = res.datas.cmsDatas[0].datas.find(ditem => ditem.id == this.data.activeId) + if (qrData) { + this.setData({ + threeLeveData: [qrData] + }) + } + } else { + this.setData({ + threeLeveData: [] + }) + } this.setData({ isBuy: res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId) }) - res.datas.cmsDatas[0].datas.forEach((item) => { - if (this.data.productLinkPath == item.productLinkPath) { - this.handleTeachData(item) - this.setData({ - titleName: item.name, - selectType: item.selectType, - learnSelectType: item.learnSelectType - }) - } + for (const item of list) { if (this.data.storeInfo == 'jsek_digitalCourses') { if (this.data.isBuy) { if (this.data.productLinkPath == item.productLinkPath) { @@ -358,52 +366,34 @@ } } } else { - // 涔颁簡 - if (this.data.buyList.length) { - if (this.data.buyList.some(citem => item.productLinkPath.includes(citem.productLinkPath))) { - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) - } - } + const isBuyCms = await app.MG.file.checkCmsItem({ + cmsItemId: Number(item.id) + }) + item.isBuyCms = isBuyCms + if (isBuyCms) { + this.data.threeLeveData.push(item) } else { - if (!item.saleMethod.length) { - // 娌′拱涓旀棤閿�鍞柟寮� - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) - } + if (item.freeFile) { + this.data.threeLeveData.push(item) } else { - // 娌′拱涓旈攢鍞柟寮忚繃鏈�//娌′拱锛岄攢鍞柟寮忎环鏍间负0 - const itemSaleMethod = item.saleMethod.find(citem => citem.SaleType == 'Normal') - if (new Date().getTime() > new Date(itemSaleMethod.EndDate).getTime() || itemSaleMethod.Price == 0) { - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) + wx.showModal({ + icon: 'error', + title: '娓╅Θ鎻愮ず', + content: '璇疯喘涔拌祫婧愶紝鍗冲皢杩斿洖璐拱椤�', + confirmText: '纭畾', + showCancel: false, // 鍏抽棴鍙栨秷鎸夐挳 + success: (cres) => { + if (cres.confirm) { + wx.navigateTo({ + url: '/packageBookService/pages/bookServices/detail/index?id=' + this.data.bookId + '&name=' + this.data.bookName + '&tabValue=' + this.data.formPath, + }) + } } - } - // 娌′拱涓斿彧鏈夎瘯璇昏祫婧� - if (!item.file && item.freeFile) { - if (this.data.productLinkPath == item.productLinkPath) { - this.data.threeLeveData.push(item) - } - } + }); + return; // 鐩存帴杩斿洖锛岄伩鍏嶆墽琛屽悗缁唬鐮� } } } - }) - if (this.data.source == 'qrcode') { - let qrData = this.data.threeLeveData.find(ditem => ditem.id == this.data.activeId) - if (qrData && this.cmsItemIsBuy(qrData)) { - this.setData({ - threeLeveData: [qrData] - }) - } else { - this.setData({ - threeLeveData: [] - }) - } - } else { - this.setData({ - threeLeveData: this.data.threeLeveData - }) } if (this.data.threeLeveData.length > 0) { let item = this.data.threeLeveData[0] @@ -413,14 +403,6 @@ selectType: item.selectType, learnSelectType: item.learnSelectType, }) - } else { - // wx.showToast({ - // icon: 'none', - // title: '璇峰厛杩斿洖璧勬簮鎵�鍦ㄥ浘涔﹁鎯呰喘涔拌棰戣祫婧�', - // }) - // wx.navigateTo({ - // url: `/packageBookService/pages/bookServices/detail/index?id=${this.data.bookDetail.id}&name=${this.data.bookDetail.name}&tabValue=jsek_cloudLearning`, - // }); } }) }, @@ -504,7 +486,7 @@ let that = this //鍥剧墖 if (item.selectType == 'picture' || item.learnSelectType == 'picture') { - const isBuy = this.cmsItemIsBuy(item) + const isBuy = item.isBuyCms let file = isBuy ? item.protectedFile || item.file : item.freeFile this.setData({ showData: app.config.requestCtx + '/file/api/ApiDownload?md5=' + file, @@ -527,7 +509,7 @@ } //鏂囨。绛� if (item.selectType == 'document' || item.selectType == 'pdf' || item.learnSelectType == 'document' || item.learnSelectType == 'pdf') { - const isBuy = this.cmsItemIsBuy(item) + const isBuy = item.isBuyCms let md5 = isBuy ? item.protectedFile || item.file || item.freeFile : item.freeFile if (item.fileMap[md5]?.extension == 'xlsx' || item.fileMap[md5]?.extension == 'xls') { this.setData({ @@ -546,7 +528,6 @@ }) let worksheet = workbook.Sheets[workbook.SheetNames[0]] let innerHTML = XLSX.utils.sheet_to_json(worksheet) - console.log(innerHTML) that.setData({ naturalResources: innerHTML }) -- Gitblit v1.9.1