From aacb4b111141c9b37397b528eae1668245ac93b2 Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期五, 22 三月 2024 11:16:41 +0800 Subject: [PATCH] 样书 --- packageBookService/pages/bookServices/detail/index.js | 444 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 412 insertions(+), 32 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js index 7addb7f..5211b66 100644 --- a/packageBookService/pages/bookServices/detail/index.js +++ b/packageBookService/pages/bookServices/detail/index.js @@ -16,6 +16,7 @@ name: '', }, bookDetail: {}, + bookItemDetail: {}, link: { jd: '', tamll: '', @@ -53,7 +54,19 @@ }, flag: true, applyResourceLoading: false, - noResources: false + noResources: false, + selectedIds: "",//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮� + bookBuy: false, //鍟嗗搧鎴栧瓙鍟嗗搧鏄惁璐拱 + expire: false,//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈� + noFile: false, //鍟嗗搧鎴栧瓙鍟嗘湁鏃犵數瀛愪功鏂囦欢 + num: 0, //鏍蜂功鐢宠鍗曟暟閲� + alreadyPaperBookList: [], //宸茬敵璇风焊璐ㄦ牱涔� + alreadyElectronicBookList: [], //宸茬敵璇风數瀛愭牱涔� + paperBookList: [], //鏍蜂功鍗曠焊璐ㄤ功 + electronicBookList: [], //鏍蜂功鍗曠數瀛愪功 + paperBookCount: 0, //绾歌川涔﹀墿浣欐鏁� + ebookCount: 0, //鐢靛瓙涔﹀墿浣欐鏁� + userInfo: {}, }, @@ -81,6 +94,7 @@ name: options.name, }, }); + this.getBookInfo(options.id); this.getResourceClass() // 鑾峰彇璧勬簮鎵�灞炲垎绫� const token = wx.getStorageSync('jsek-token') @@ -89,6 +103,24 @@ this.getApplyInfo(options.id) this.getMockData() } + if (wx.getStorageSync(app.config.userInfoKey)) { + this.setData({ + userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)) + }) + } + if (wx.getStorageSync("paperBookList")) { + 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 + }) }, /** @@ -238,6 +270,7 @@ cmsDatas: res.datas.cmsDatas[0].datas, buyIdList: res.datas.purchasedSaleMethodIdList }); + this.getSubTtem(); // 鑾峰彇鍥句功鍒嗙被 const iconType = JSON.parse(res.datas.bookClassification)[0][0]; const classType = JSON.parse(res.datas.bookClassification)[0][1]; @@ -274,6 +307,76 @@ console.log('鍥句功淇℃伅', this.data.bookDetail); }); + }, + //璇锋眰瀛愬晢鍝佺殑鏂囦欢 + getSubTtem() { + const obj = { + path: '*', + queryType: 'SubProduct', + sort: { + type: 'Desc', + field: 'CreateDate' + }, + paging: { + start: 0, + size: 6 + }, + mainProductId: this.data.bookDetail.id, + fields: { + author: [], + bookshelf_pdf: [], + bookshelf_protectedEpub: [], + bookshelf_freeEpub: [], //epub璇曡鐧惧垎姣� + 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 + }); + 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() + if (times < new Date().getTime() || new Date().getTime() < startTime) { + this.setData({ + expire: true + }); + } else { + this.setData({ + expire: false + }); + } + if (res.datas[0].bookshelf_pdf || res.datas[0].bookshelf_protectedEpub) { + this.setData({ + noFile: true + }); + } + } else { + if (this.data.bookDetail.pdf || this.data.bookDetail.protectedEpub) { + this.setData({ + noFile: true + }); + } + this.setData({ + selectedIds: this.data.bookDetail.defaultSaleMethodId, + 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() + if (times < new Date().getTime() || new Date().getTime() < startTime) { + this.setData({ + expire: true + }); + } else { + this.setData({ + expire: false + }); + } + } + }) }, // 鑾峰彇鍥句功鍒嗙被 async getBookClass(iconType, classType) { @@ -567,7 +670,6 @@ // 鍥句功娣诲姞璐墿杞� async addBookShopcCar() { - const token = wx.getStorageSync('jsek-token') if (!token) { return wx.getUserProfile({ @@ -591,15 +693,14 @@ 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(this.data.selectedIds, '閿�鍞柟寮廼d'); + const determine = shoppingCartGetId.some((item) => item == this.data.selectedIds) console.log(determine); - if (!determine) { let query = { requests: [ { - saleMethodId: this.data.bookDetail.defaultSaleMethodId, + saleMethodId: this.data.selectedIds, storeEventId: null, agentCode: '鐢靛瓙涔�' } @@ -633,31 +734,38 @@ 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 - }) + if (!this.data.expire) { + let bookOrdersId = '' + let query = { + 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) + // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 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); + } } else { - console.log(222); + wx.showToast({ + title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", + icon: 'none', + duration: 1000, + }) } - }, // 鑾峰彇鏁欏璧勬簮涓嬭浇鏄惁鐢宠閫氳繃 @@ -1227,10 +1335,7 @@ } else if (this.data.tabValue == 'jsek_cloudLearning') { const tree = this.selectComponent('#tree') - tree.onCloudShoppingCart() - - } else if (this.data.tabValue == 'questionBank') { this.buyMock() } else { @@ -1238,4 +1343,279 @@ } }, + //鏍蜂功鐢宠 + //鐢宠鐢靛瓙鏍蜂功 + 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() + } else { + wx.showToast({ + title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!", + icon: 'none', + duration: 1000, + }) + } + } else { + wx.showModal({ + title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰� + content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹� + success: function (res) { + if (res.confirm) { + wx.navigateTo({ + url: "/packageDomain/pages/teacherCertification/index", + }); + } else if (res.cancel) { + } + } + }) + } + } + } + }, + //鐢宠绾歌川鏍蜂功 + 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) { + } + } + }) + } + } + } + }, + //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙绾歌川锛� + getSelectPaperBookCount() { + app.MG.app + .getTicketResult({ + ticketRefCodeOrGuid: 'paperSampleBookapplyNum', + roleId: this.data.userInfo.roleId + }) + .then((res) => { + this.setData({ + paperBookCount: res.totalCount - res.usedCount + }) + this.getAlreadyBookList(this.data.bookDetail, 'pBook') + }) + }, + //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙鐢靛瓙锛� + getSelectBookCount() { + app.MG.app + .getTicketResult({ + ticketRefCodeOrGuid: 'electronicSampleBookapplyNum', + roleId: this.data.userInfo.roleId + }) + .then((res) => { + this.setData({ + ebookCount: res.totalCount - res.usedCount + }) + this.getAlreadyBookList(this.data.bookDetail, 'eBook') + }) + }, + //鑾峰彇宸茬敵璇风殑鏍蜂功鍒楄〃 + getAlreadyBookList(item, type) { + let topicIdOrRefCode = null + if (type == 'eBook') { + topicIdOrRefCode = 'applyBook' + } else { + topicIdOrRefCode = 'applyEntityBook' + } + 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 (item.content) { + item.content = JSON.parse(item.content) + item.content.map((e) => (item.productId = e.id)) + } + }) + 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 { + wx.showToast({ + title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒", + icon: "none", + duration: 1000, + }) + } + } else { + if (this.data.paperBookCount > 0) { + const pBookData = this.data.paperBookList + if (pBookData.length == 2) { + wx.showToast({ + title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�", + icon: 'none', + duration: 1000, + }) + 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, + }) + } + } + } + }) + }, + //鍘绘牱涔︾敵璇峰崟 + goApply() { + wx.navigateTo({ + url: "/packageDomain/pages/sampleBookList/applicationForm/index", + }); + }, + }) -- Gitblit v1.9.1