From aa2c08b3be23a01d44205b2c19d21a2bf53f944f Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期一, 01 四月 2024 16:15:38 +0800 Subject: [PATCH] 图书服务列表、详情页bug修改 --- packageBookService/pages/bookServices/detail/index.js | 1088 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 896 insertions(+), 192 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js index 0bc5d6c..9294e5e 100644 --- a/packageBookService/pages/bookServices/detail/index.js +++ b/packageBookService/pages/bookServices/detail/index.js @@ -1,6 +1,9 @@ // 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 { + loginInfo +} from '../../../../assets/js/login' const app = getApp(); Page({ /** @@ -15,6 +18,7 @@ name: '', }, bookDetail: {}, + bookItemDetail: {}, link: { jd: '', tamll: '', @@ -32,16 +36,20 @@ openTeachids: [], openLearnids: [], openTestids: [], + applyResourceState: false, // 鐢宠鏁欏璧勬簮鎸夐挳闃叉姈 resourceClassList: [], // 璧勬簮鎵�灞炲垎绫� - applyState: "", // 鏁欏璧勬簮鐢宠鐘舵�� - deadline: "", // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡 - rejectCause: "", // 涓嬭浇鎷掔粷鍘熷洜 + applyState: "", // 鏁欏璧勬簮鐢宠鐘舵�� + deadline: "", // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡 + 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, // 鍞环 @@ -49,6 +57,70 @@ useCount: 0, // 缁勪欢宸蹭娇鐢ㄦ鏁� residue: 0, // 缁勫嵎鍓╀綑娆℃暟 mockList: [] // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅 + }, + flag: true, + noResources: false, + selectedIds: "", //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮� + bookBuy: false, //鍟嗗搧鎴栧瓙鍟嗗搧鏄惁璐拱 + expire: false, //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈� + noFile: false, //鍟嗗搧鎴栧瓙鍟嗘湁鏃犵數瀛愪功鏂囦欢 + num: 0, //鏍蜂功鐢宠鍗曟暟閲� + alreadyPaperBookList: [], //宸茬敵璇风焊璐ㄦ牱涔� + alreadyElectronicBookList: [], //宸茬敵璇风數瀛愭牱涔� + paperBookList: [], //鏍蜂功鍗曠焊璐ㄤ功 + electronicBookList: [], //鏍蜂功鍗曠數瀛愪功 + paperBookCount: 0, //绾歌川涔﹀墿浣欐鏁� + ebookCount: 0, //鐢靛瓙涔﹀墿浣欐鏁� + userInfo: {}, + pageLoading: true, + fileInfo: { + bookName: "", + fileType: "", + md5: "", + freePage: "" + }, //闃呰鍣ㄦ暟鎹� + buyResourceData: { + 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' + }, + icon1: { + name: "/static/images/bookService/detail/dangdang.png" } }, @@ -63,6 +135,22 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ onLoad(options) { + + // 妫�鏌ョ櫥褰曠姸鎬� + // const token = wx.getStorageSync(app.config.tokenKey) + // if (!token) { + // loginInfo(app, (data) => { + // // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋� + // if (data) { + // // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue + // } else { + // // 鍑虹幇閿欒锛岃繑鍥瀎alse + // } + // }) + // } else { + // // 濡傛灉鏄涓�娆$櫥褰曪紝浼氳烦杞嚦缁戝畾鐢ㄦ埛淇℃伅椤甸潰锛屽~鍐欏畬鐢ㄦ埛淇℃伅鍚庤繘琛岀櫥褰曞苟鍌ㄥ瓨token鍜岀敤鎴蜂俊鎭紝缁撴潫鍚庤烦杞洖褰撳墠椤甸潰锛堟惡甯﹂〉闈㈠弬鏁帮級 + // } + const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴� @@ -77,14 +165,26 @@ name: options.name, }, }); + this.getBookInfo(options.id); this.getResourceClass() // 鑾峰彇璧勬簮鎵�灞炲垎绫� - const token = wx.getStorageSync('jsek-token') + const token = wx.getStorageSync(app.config.tokenKey) if (token) { this.getShoppingCartProductGet() this.getApplyInfo(options.id) this.getMockData() + this.getAlreadyPBookList() + this.getAlreadyEBookList() } + if (wx.getStorageSync(app.config.userInfoKey)) { + this.setData({ + userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)) + }) + // 鑾峰彇鐢宠娆℃暟 + this.getSelectPaperBookCount() + this.getSelectBookCount() + } + }, /** @@ -97,17 +197,31 @@ /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず */ - onShow() { }, + onShow() { + 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 + }) + }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌 */ - onHide() { }, + onHide() {}, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇 */ - onUnload() { }, + onUnload() {}, /** * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔 @@ -121,7 +235,7 @@ * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁� */ onReachBottom() { - if (this.data.tabValue == 'jesk_note') { + if (this.data.tabValue == 'jsek_note') { const child = this.selectComponent('#note') child.onReachBottom() } @@ -130,11 +244,11 @@ /** * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜� */ - onShareAppMessage() { }, + 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})$/); if (!match) { @@ -191,7 +305,7 @@ this.setData({ "mockData'.id": 0, "mockData.price": 0, - "mockData.count": 0 + "mockData.count": 0, }) const query = { path: '*', @@ -228,16 +342,19 @@ }, }; 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 }); + 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) + let className = '' + if (Array.isArray(res.datas.bookClassification) && res.datas.bookClassification.length) { + const iconType = JSON.parse(res.datas.bookClassification)[0][0]; + const classType = JSON.parse(res.datas.bookClassification)[0][1]; + className = await this.getBookClass(iconType, classType) + } // 鑾峰彇缁勫嵎閿�鍞甶d if (res.datas.saleMethod && res.datas.saleMethod.length) { res.datas.saleMethod.forEach((item) => { @@ -260,16 +377,117 @@ }) } } - console.log('缁勫嵎淇℃伅', this.data.mockData); 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), + pageLoading: false }); + 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 + }); + if (res.datas[0].bookshelf_pdf) { + this.setData({ + "fileInfo.bookName": this.data.bookDetail.name, + "fileInfo.fileType": 'pdf', + "fileInfo.md5": res.datas[0].bookshelf_pdf, + "fileInfo.freePage": res.datas[0].bookshelf_probationPage, + }); + } else if (res.datas[0].bookshelf_protectedEpub) { + this.setData({ + "fileInfo.bookName": this.data.bookDetail.name, + "fileInfo.fileType": 'epub', + "fileInfo.md5": res.datas[0].bookshelf_protectedEpub, + "fileInfo.freePage": res.datas[0].bookshelf_freeEpub, + }); + } + } + } else { + if (this.data.bookDetail.pdf || this.data.bookDetail.protectedEpub) { + this.setData({ + noFile: true + }); + if (this.data.bookDetail.pdf) { + this.setData({ + "fileInfo.bookName": this.data.bookDetail.name, + "fileInfo.fileType": 'pdf', + "fileInfo.md5": this.data.bookDetail.pdf, + "fileInfo.freePage": this.data.bookDetail.probationPage, + }); + } else if (this.data.bookDetail.protectedEpub) { + this.setData({ + "fileInfo.bookName": this.data.bookDetail.name, + "fileInfo.fileType": 'epub', + "fileInfo.md5": this.data.bookDetail.protectedEpub, + "fileInfo.freePage": this.data.bookDetail.freeEpubPage, + }); + } + } + 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) { @@ -292,76 +510,114 @@ }, // 鏀惰棌 setCollect() { - if (this.data.bookDetail.isFavourite) { - app.MG.store - .delProductLink({ + 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', + }) + .then(() => { + this.setData({ + 'bookDetail.isFavourite': false + }) + }); + } else { + const params = { productIds: [this.data.bookDetail.id], linkType: 'FavoriteBookCity', - }) - .then(() => { + }; + app.MG.store.addProductLink(params).then((res) => { this.setData({ - 'bookDetail.isFavourite': false + 'bookDetail.isFavourite': true }) - Message.success({ - context: this, - offset: [20, 32], - duration: 5000, - content: '杩欐槸涓�鏉℃垚鍔熺殑鎻愮ず娑堟伅', - }); }); - } 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 token = wx.getStorageSync(app.config.tokenKey) const child = this.selectComponent('#suggest-component') - child.showDialog() + if (!token) { + wx.showLoading({ + title: '鍔犺浇涓�', + }) + loginInfo(app, (data) => { + // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋� + if (data) { + // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue + child.showDialog() + wx.hideLoading() + } else { + // 鍑虹幇閿欒锛岃繑鍥瀎alse + } + }) + } else { + // 濡傛灉鏄涓�娆$櫥褰曪紝浼氳烦杞嚦缁戝畾鐢ㄦ埛淇℃伅椤甸潰锛屽~鍐欏畬鐢ㄦ埛淇℃伅鍚庤繘琛岀櫥褰曞苟鍌ㄥ瓨token鍜岀敤鎴蜂俊鎭紝缁撴潫鍚庤烦杞洖褰撳墠椤甸潰锛堟惡甯﹂〉闈㈠弬鏁帮級 + child.showDialog() + } }, // 璺宠浆缃戝簵 goShop(e) { - const { link } = e.currentTarget.dataset; + const { + link + } = e.currentTarget.dataset; wx.navigateTo({ url: `/packageBookService/pages/bookServices/webpage/index?url=${link}`, }) }, onTabsChange(e) { this.setData({ - tabValue: e.detail.value + 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) 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)) { + if (e.detail.value == 'jsek_cloudLearning') { + this.setData({ + '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) } - + } else { + this.setData({ + noResources: true + }) } } else if (e.detail.label == '浜戠瑪璁�') { - const token = wx.getStorageSync('jsek-token') + const token = wx.getStorageSync(app.config.tokenKey) const child = this.selectComponent('#note') child.handleSubmitTitle() if (token) { child.changeLoading() child.getNoteList() } - + } else if (e.detail.label == '鐢靛瓙涔�') { + const child = this.selectComponent('#eBook') + if (child) { + child.getProgress() + } } }, // 鑾峰彇璧勬簮鎵�灞炲垎绫� @@ -378,7 +634,8 @@ // 鑾峰彇鏁欏璧勬簮 浜戝涔� 浜戞祴璇� getResourceData(type) { this.setData({ - loading: true + loading: true, + noResources: false }) let query = { path: '*', @@ -405,6 +662,12 @@ 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( @@ -415,25 +678,30 @@ //鏁欏璧勬簮 浜戝涔� 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') { - 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.findChildIds(list, result) this.setData({ teach: list, - loading: false + loading: false, + openTeachids: result }) - this.findChildIds(this.data.teach, this.data.openTeachids = []) + console.log('鏁欏璧勬簮', this.data.teach, this.data.applyState); } else if (type.refCode == 'jsek_cloudLearning') { - const list = await this.getAllResource(res.datas.cmsDatas[0].datas) + // 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 + loading: false, + openLearnids: result }) - this.findChildIds(this.data.learn, this.data.openLearnids = []) } } else { // 鏃犳暟鎹� @@ -483,7 +751,8 @@ isDownload: [], jsek_resourceBrief: [], jsek_link: [], - accessType: [] + accessType: [], + learnSelectType: [] }, pading: { start: 0, @@ -513,6 +782,7 @@ 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) } @@ -525,12 +795,12 @@ for (let i = 0; i < data.length; i++) { if (index < 3) { const item = data[i] - if (item.childrenFolderCount > 0) { + if (item.children && item.children.length > 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) { + if (item.children && item.children.length > 0) { result.push(childrenItme.id) index += 1 } @@ -538,7 +808,7 @@ break } } - } else if (item.childrenCount > 0) { + } else if (item.children && item.children.length > 0) { result.push(item.id) index += 1 } @@ -550,45 +820,61 @@ // 鍥句功娣诲姞璐墿杞� async addBookShopcCar() { - const shoppingCartGetId = [] + if (!this.data.expire) { + const token = wx.getStorageSync('jsek-token') + if (!token) { + return wx.getUserProfile({ + desc: '鐢ㄦ埛鐧诲綍', + success: (res) => { + console.log(res); + } + }) + } - 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); + const shoppingCartGetId = [] - if (!determine) { let query = { - requests: [ - { - saleMethodId: this.data.bookDetail.defaultSaleMethodId, + start: 0, + size: 9999, + 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.selectedIds, '閿�鍞柟寮廼d'); + const determine = shoppingCartGetId.some((item) => item == this.data.selectedIds) + console.log(determine); + if (!determine) { + let query = { + requests: [{ + saleMethodId: this.data.selectedIds, storeEventId: null, agentCode: '鐢靛瓙涔�' - } - ] - } - const addRes = app.MG.store.addShoppingCart(query) - this.showSuccessToast() + }] + } + const addRes = app.MG.store.addShoppingCart(query) + this.showSuccessToast() + } else { + Toast({ + context: this, + selector: '#t-toast', + message: '璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞', + theme: 'warning', + direction: 'column', + }); + } } else { - Toast({ - context: this, - selector: '#t-toast', - message: '宸叉坊鍔�', - theme: 'success', - direction: 'column', - }); + wx.showToast({ + title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", + icon: 'none', + duration: 1000, + }) } + }, @@ -602,38 +888,42 @@ }); }, - - async buyBook() { - let bookOrdersId = '' - let query = { - remarks: '鐢靛瓙涔�', - requests: [ - { - saleMethodId: this.data.bookDetail.defaultSaleMethodId, + console.log(this.data.bookItemDetail.defaultSaleMethodId, 'this.data.bookItemDetail.defaultSaleMethodId'); + 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 - }) + }] + } + // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉 + 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, + }) } - }, // 鑾峰彇鏁欏璧勬簮涓嬭浇鏄惁鐢宠閫氳繃 - getApplyInfo(id) { + async getApplyInfo(id) { // 鑾峰彇褰撳墠鏃堕棿 const currentDate = new Date() let query = { @@ -646,7 +936,7 @@ appRefCode: app.config.appRefCode, topicIdOrRefCode: 'productDownLoad' } - app.MG.ugc.getTopicMessageList(query).then((res) => { + await app.MG.ugc.getTopicMessageList(query).then((res) => { const applyResource = res.datas.find((item) => { let content = [] try { @@ -701,10 +991,25 @@ }) } }) - console.log('鏈夋晥鏃ユ湡', this.data.deadline); + this.setData({ + applyResourceState: false, + }) + wx.hideLoading() }, // 鐢宠鏁欏璧勬簮 applyResource() { + if (this.data.applyResourceState) { + return wx.showToast({ + icon: 'error', + title: '璇峰嬁閲嶅鐐瑰嚮', + }) + } + this.setData({ + applyResourceState: true + }) + wx.showLoading({ + title: '鍔犺浇涓�', + }) // let role = userStore.userInfo ? userStore.userInfo.role : null // if (role) { // if (role == 'Teacher') { @@ -716,20 +1021,21 @@ 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 - } - ]) + 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) => { + app.MG.ugc.newTopicMessage(query).then(async (res) => { if (res) { - Message.success('鐢宠宸叉彁浜わ紝璇峰緟瀹℃牳閫氳繃鍚庝笅杞�') + wx.showToast({ + title: '鐢宠宸叉彁浜�', + duration: 2000, + }) } - this.getApplyInfo(this.data.bookDetail.id) + await this.getApplyInfo(this.data.bookDetail.id) }) // } else { // ElMessageBox.confirm('璇峰厛杩涜鏁欏笀璁よ瘉锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', { @@ -742,9 +1048,7 @@ // }) // .catch(() => { }) // } - // } else { - // // logIn() - // } + // } }, // 鏁欏璧勬簮涓嬭浇鍓嶅線PC鎻愮ずDiialog closeTeachDownload() { @@ -935,54 +1239,57 @@ // 浜戝涔犱竴閿鍙� async getFreeResource() { const child = this.selectComponent('#learn-resource') - const token = wx.getStorageSync('jsek-token') + 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, - count: 1 - }) - } - }) + } else { + 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 + let query = { + remarks: '浜戝涔�', + requests, } - // 纭璁㈠崟 - const confirmOrderRes = await app.MG.store.confirmOrder(parameter) - if (confirmOrderRes.orderNumber) { - child.changeReceive(false) - wx.showToast({ - title: '棰嗗彇鎴愬姛', - }) - this.getBookInfo(this.data.bookId) + 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) } - } catch (error) { - console.log(error) } }, // 浜戝涔犱竴閿喘涔� @@ -1072,9 +1379,9 @@ 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) ) } } @@ -1095,7 +1402,6 @@ 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 => { @@ -1115,6 +1421,404 @@ }) } }) - } + }, + // 璐拱缁勫嵎 + async buyMock() { + 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 + }] + } + if (this.data.flag) { + this.setData({ + 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 + }) + if (confirmOrderRes) { + wx.showToast({ + icon: "success", + title: '棰嗗彇鎴愬姛', + }) + this.setData({ + flag: true + }) + await this.recordBuyMock() // 璁板綍璐拱鏃堕棿 + } + } + } catch (error) { + console.log(error) + } + }, + // 璁板綍璐拱缁勫嵎鏃堕棿 + recordBuyMock() { + 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 + }) + // 璁板綍璐拱鏃堕棿锛屽苟璁剧姸鎬乻tate涓�1锛岃〃绀哄垰璐拱瀹屾垚缁勫嵎 + app.MG.identity.setUserKey({ + setKeyRequests: [{ + domain: 'mockData', + key: this.data.bookDetail.id + '', + value: JSON.stringify(this.data.mockData.mockList) + }] + }) + }, + // 搴曢儴璐拱鎸夐挳 + buyBtn() { + 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); + } + }, -}) + goRead() { + if (!this.data.noFile) { + wx.showToast({ + 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 + '&bookBuy=' + this.data.bookBuy + }) + + }, + + //鏍蜂功鐢宠 + //鑾峰彇宸茬敵璇风焊璐ㄦ牱涔� + 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) + } + }) + this.setData({ + alreadyElectronicBookList: list, + }); + } + }) + }, + + //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙绾歌川锛� + getSelectPaperBookCount() { + app.MG.app + .getTicketResult({ + ticketRefCodeOrGuid: 'paperSampleBookapplyNum', + roleId: this.data.userInfo.roleId + }) + .then((res) => { + this.setData({ + paperBookCount: res.totalCount - res.usedCount + }) + }) + }, + //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙鐢靛瓙锛� + getSelectBookCount() { + app.MG.app + .getTicketResult({ + ticketRefCodeOrGuid: 'electronicSampleBookapplyNum', + roleId: this.data.userInfo.roleId + }) + .then((res) => { + this.setData({ + ebookCount: res.totalCount - res.usedCount + }) + }) + }, + + //鐢宠鐢靛瓙鏍蜂功 + 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) { + wx.showToast({ + title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!", + icon: 'none', + duration: 1000, + }) + return + } + if (this.data.ebookCount == 0) { + wx.showToast({ + title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒", + icon: "none", + duration: 1000, + }) + return false; + } + if (this.data.electronicBookList.length >= 2) { + wx.showToast({ + title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�", + icon: "none", + duration: 1000, + }) + return false; + } + 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.id == this.data.bookDetail.id) + if (isApply) { + wx.showToast({ + title: "璇ヤ功宸茬敵璇凤紒", + icon: "none", + duration: 1000, + }) + return false; + } + this.addBookFun(this.data.bookDetail, "eBook") + } 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, + }) + } + }, + //鐢宠绾歌川鏍蜂功 + 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') { + // 鐐瑰嚮閫変腑 + if (this.data.paperBookCount == 0) { + 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; + } + let isHas = this.data.paperBookList.find((pitem) => pitem.id == this.data.bookDetail.id) + if (isHas) { + wx.showToast({ + title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�", + icon: "none", + duration: 1000, + }) + return false; + } + let isApply = this.data.alreadyPaperBookList.find((pitem) => pitem.id == this.data.bookDetail.id) + if (isApply) { + wx.showToast({ + title: "璇ヤ功宸茬敵璇凤紒", + icon: "none", + duration: 1000, + }) + return false; + } + this.addBookFun(this.data.bookDetail, "pBook") + } 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, + }) + } + }, + // 娣诲姞鏍蜂功 + 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", eList); + } else { + pList.push(itemAttr) + this.setData({ + paperBookList: pList, + }) + wx.setStorageSync("paperBookList", 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 + }) + }, +}) \ No newline at end of file -- Gitblit v1.9.1