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