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 | 534 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 413 insertions(+), 121 deletions(-) diff --git a/pages/bookServices/detail/index.js b/pages/bookServices/detail/index.js index ee631de..406ce39 100644 --- a/pages/bookServices/detail/index.js +++ b/pages/bookServices/detail/index.js @@ -1,5 +1,6 @@ // pages/bookServices/detail/index.js import Message from 'tdesign-miniprogram/message/index.js'; +import Toast from 'tdesign-miniprogram/toast/index'; const app = getApp(); Page({ /** @@ -37,8 +38,20 @@ rejectCause: "", // 涓嬭浇鎷掔粷鍘熷洜 buyIdList: [], shoppingCartGetId: [], // 宸茶喘涔癷d鍒楄〃 - shoppingList: [] + 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({ @@ -66,10 +79,11 @@ }); this.getBookInfo(options.id); this.getResourceClass() // 鑾峰彇璧勬簮鎵�灞炲垎绫� - this.getApplyInfo(options.id) const token = wx.getStorageSync('jsek-token') if (token) { this.getShoppingCartProductGet() + this.getApplyInfo(options.id) + this.getMockData() } }, @@ -98,12 +112,20 @@ /** * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔 */ - onPullDownRefresh() { }, + onPullDownRefresh() { + + + }, /** * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁� */ - onReachBottom() { }, + onReachBottom() { + if (this.data.tabValue == 'jesk_note') { + const child = this.selectComponent('#note') + child.onReachBottom() + } + }, /** * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜� @@ -166,6 +188,11 @@ }, // 鑾峰彇鍥句功璇︽儏 getBookInfo(id) { + this.setData({ + "mockData'.id": 0, + "mockData.price": 0, + "mockData.count": 0 + }) const query = { path: '*', queryType: '*', @@ -200,7 +227,8 @@ 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, @@ -209,27 +237,52 @@ // 鑾峰彇鍥句功鍒嗙被 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; } }); } @@ -283,8 +336,8 @@ goShop(e) { const { link } = e.currentTarget.dataset; wx.navigateTo({ - url: link, - }); + url: `/pages/bookServices/webpage/index?url=${link}`, + }) }, onTabsChange(e) { this.setData({ @@ -298,7 +351,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 +377,9 @@ }, // 鑾峰彇鏁欏璧勬簮 浜戝涔� 浜戞祴璇� getResourceData(type) { + this.setData({ + loading: true + }) let query = { path: '*', queryType: '*', @@ -354,14 +420,18 @@ item.checked = false }) const list = await this.getAllResource(res.datas.cmsDatas[0].datas) + + console.log(list, 'list'); 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 +441,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('鍏朵粬'); } @@ -480,18 +549,89 @@ }, // 鍥句功娣诲姞璐墿杞� - addBookShopcCar() { + 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, - storeEventId: null, - agentCode: '鐢靛瓙涔�' + count: 1 } ] } - const addRes = app.MG.store.addShoppingCart(query) + // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉 + 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) { // 鑾峰彇褰撳墠鏃堕棿 @@ -528,14 +668,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 +700,8 @@ applyState: 'none' }) } - console.log('鐢宠閫氳繃', this.data.applyState); }) - + console.log('鏈夋晥鏃ユ湡', this.data.deadline); }, // 鐢宠鏁欏璧勬簮 applyResource() { @@ -607,92 +746,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 +898,6 @@ shoppingList: res.datas, shoppingCartGetId: list }) - console.log('璐拱', this.data); }) }, // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀� @@ -778,7 +926,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 +934,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 +973,148 @@ 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}&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