| | |
| | | openTeachids: [], |
| | | openLearnids: [], |
| | | openTestids: [], |
| | | isGoBuyResource: true, |
| | | learnPath: '', |
| | | applyResourceState: false, // 申请教学资源按钮防抖 |
| | | resourceClassList: [], // 资源所属分类 |
| | | applyState: "", // 教学资源申请状态 |
| | |
| | | }, |
| | | ], |
| | | showIndex: '', |
| | | successOrderNumber: '' |
| | | successOrderNumber: '', |
| | | applicationState: '' // 电子样书申请状态 |
| | | }, |
| | | |
| | | resetTree: function (e) { |
| | |
| | | this.setData({ |
| | | showIndex: '1' |
| | | }) |
| | | console.log(this.data.bookDetail.icon, '0111111'); |
| | | console.log(this.data.bookDetail.name, '45688'); |
| | | }, |
| | | // 跳转网店 |
| | | goShop(e) { |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 获取所有子项数量 |
| | | getChildrenItem(data) { |
| | | let num = 0 |
| | | |
| | | function getNum(data) { |
| | | for (let index = 0; index < data.length; index++) { |
| | | const item = data[index]; |
| | | if (item.sysType == 'CmsItem') { |
| | | num += 1 |
| | | } else if (item.sysType == 'CmsFolder') { |
| | | if (item.children && item.children.length) |
| | | getNum(item.children) |
| | | } |
| | | } |
| | | } |
| | | getNum(data) |
| | | return num |
| | | }, |
| | | |
| | | // 给目录添加子项数量 |
| | | changeResourceChildren(list) { |
| | | const changeList = (list) => { |
| | | for (let index = 0; index < list.length; index++) { |
| | | const item = list[index]; |
| | | if (item.sysType == 'CmsFolder' && item.children && item.children.length) { |
| | | item.childrenItem = this.getChildrenItem([item]) |
| | | changeList(item.children) |
| | | } else if (item.sysType == 'CmsFolder' && item.children && !item.children.length) { |
| | | item.childrenItem = 0 |
| | | } else if (item.sysType == 'CmsFolder' && !item.children) { |
| | | item.childrenItem = 0 |
| | | } |
| | | } |
| | | } |
| | | changeList(list) |
| | | return list |
| | | }, |
| | | |
| | | // 扁平化数据转换tree |
| | | getTreeList(rootList, pathLength, newArr, path) { |
| | | for (const item of rootList) { |
| | | if (item.productLinkPath.length == pathLength && item.productLinkPath.includes(path)) { |
| | | // 此处原本 item.productLinkPath.length == pathLength 但 productLinkPath 长度个别书存在4、5位交错 |
| | | if ((pathLength - item.productLinkPath.length >= 0 && pathLength - item.productLinkPath.length <= 3) && item.productLinkPath.includes(path)) { |
| | | if (item.sysType == 'CmsItem') { |
| | | if (item.selectType == 'webpage') { |
| | | item.disabled = true |
| | |
| | | SysType: 'CmsFolder', |
| | | // 资源类型,试读文件,是否允许下载等参数 |
| | | selectType: [], |
| | | learnSelectType: [], |
| | | freeFile: [], |
| | | file: [], |
| | | protectedFile: [], |
| | |
| | | } |
| | | } |
| | | }); |
| | | this.getTreeList(res.datas.cmsDatas[0].datas, 17, list, '\\') |
| | | if (type.refCode == "jsek_cloudLearning") { |
| | | this.setData({ |
| | | learnPath: type.productLinkPath |
| | | }) |
| | | const dataList = res.datas.cmsDatas[0].datas |
| | | if (dataList.length) { |
| | | const tag = dataList.findIndex(item => item.saleMethod.length && item.saleMethod[0].Price > 0) |
| | | this.setData({ |
| | | isGoBuyResource: tag > -1 ? true : false |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | isGoBuyResource: false |
| | | }) |
| | | } |
| | | } |
| | | const num = query.cmsPath.length + 6 |
| | | this.getTreeList(res.datas.cmsDatas[0].datas, num, list, '\\') |
| | | list = this.ensureTreeConsistency(list) |
| | | list = this.changeResourceChildren(list) |
| | | console.log('修改后云', list); |
| | | let result = []; |
| | | if (type.refCode == "jsek_teachingResources") { |
| | |
| | | }, |
| | | // 申请教学资源 |
| | | applyResource() { |
| | | |
| | | // if (this.data.applyResourceState) { |
| | | // return wx.showToast({ |
| | | // icon: "error", |
| | |
| | | if (isSHow) { |
| | | return false; |
| | | } else { |
| | | return data.saleMethod[0].price > 0 ? true : false; |
| | | return data.saleMethod[0].Price > 0 ? true : false; |
| | | } |
| | | return !isSHow; |
| | | } else { |
| | |
| | | }, |
| | | |
| | | updateShoppingCartHidden() { |
| | | |
| | | const isSHow = this.data.shoppingCartGetId.some( |
| | | (item) => item == data.saleMethod[0].Id |
| | | ); |
| | |
| | | }; |
| | | // 确认订单 |
| | | const confirmOrderRes = await app.MG.store.confirmOrder(parameter); |
| | | console.log(confirmOrderRes.orderNumber, 'confirmOrderRes.orderNumber'); |
| | | |
| | | if (confirmOrderRes.orderNumber) { |
| | | child.changeReceive(false); |
| | | wx.showToast({ |
| | | title: "领取成功", |
| | | }); |
| | | this.getBookInfo(this.data.bookId); |
| | | this.getResourceDataList({ |
| | | refCode: 'jsek_cloudLearning', |
| | | productLinkPath: this.data.learnPath |
| | | }) |
| | | this.setData({ |
| | | successOrderNumber: confirmOrderRes.orderNumber |
| | | }) |
| | | |
| | | |
| | | } |
| | | } catch (error) { |
| | | console.log(error); |
| | |
| | | this.data.bookBuy + |
| | | "&bookId=" + |
| | | this.data.bookDetail.id, |
| | | |
| | | }); |
| | | }, |
| | | |
| | |
| | | list.push(item); |
| | | } |
| | | }); |
| | | const smBook = list.find(item => item.content[0].id == this.data.bookDetail.id) |
| | | console.log('已申请', smBook); |
| | | if (smBook && smBook.state == 'Normal') { |
| | | const flag = new Date(smBook.feedBack.endDate + '23:59:59').getTime() > new Date().getTime() |
| | | if (flag) { |
| | | this.setData({ |
| | | applicationState: 'Normal' |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | applicationState: 'overdue' |
| | | }) |
| | | } |
| | | } |
| | | this.setData({ |
| | | alreadyElectronicBookList: list, |
| | | }); |
| | |
| | | |
| | | //申请电子样书 |
| | | appplyElectronicBook() { |
| | | // 先判断下教师认证,未对原有逻辑修改 |
| | | let role = this.data.userInfo != null ? this.data.userInfo.role : null; |
| | | if (role && role == "Teacher") {} else { |
| | | return wx.showModal({ |
| | | title: "尊敬的用户,您好!", //提示的标题 |
| | | content: "请先进行教师认证?", //提示的内容 |
| | | confirmColor: "#ff6c00", |
| | | cancelColor: "#949494", |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | wx.navigateTo({ |
| | | url: "/packageDomain/pages/teacherCertification/index", |
| | | }); |
| | | } else if (res.cancel) {} |
| | | }, |
| | | }); |
| | | } |
| | | if ( |
| | | this.data.bookDetail.isApplyBook == 2 || |
| | | this.data.bookDetail.isApplyBook == 4 |
| | |
| | | return false; |
| | | } |
| | | let isApply = this.data.alreadyElectronicBookList.find( |
| | | (eitem) => eitem.id == this.data.bookDetail.id |
| | | (eitem) => eitem.content[0].id == this.data.bookDetail.id |
| | | ); |
| | | if (isApply) { |
| | | wx.showToast({ |
| | | title: "该书已申请!", |
| | | icon: "none", |
| | | duration: 1000, |
| | | }); |
| | | return false; |
| | | if (isApply.state == 'WaitAudit') { |
| | | wx.showToast({ |
| | | title: "该书已申请!", |
| | | icon: "none", |
| | | duration: 1000, |
| | | }); |
| | | return false; |
| | | } else if (isApply.state == 'Normal') { |
| | | const flag = new Date(isApply.feedBack.endDate + '23:59:59').getTime() > new Date().getTime() |
| | | if (flag) { |
| | | wx.showToast({ |
| | | title: "该书已申请!", |
| | | icon: "none", |
| | | duration: 1000, |
| | | }); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | if (this.data.electronicBookList.length >= 2) { |
| | | wx.showToast({ |
| | |
| | | }, |
| | | //申请纸质样书 |
| | | appplyPaperBook() { |
| | | let role = this.data.userInfo != null ? this.data.userInfo.role : null; |
| | | if (role && role == "Teacher") {} else { |
| | | return wx.showModal({ |
| | | title: "尊敬的用户,您好!", //提示的标题 |
| | | content: "请先进行教师认证?", //提示的内容 |
| | | confirmColor: "#ff6c00", |
| | | cancelColor: "#949494", |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | wx.navigateTo({ |
| | | url: "/packageDomain/pages/teacherCertification/index", |
| | | }); |
| | | } else if (res.cancel) {} |
| | | }, |
| | | }); |
| | | } |
| | | if ( |
| | | this.data.bookDetail.isApplyBook == 3 || |
| | | this.data.bookDetail.isApplyBook == 4 |
| | |
| | | return false; |
| | | } |
| | | let isApply = this.data.alreadyPaperBookList.find( |
| | | (pitem) => pitem.id == this.data.bookDetail.id |
| | | (pitem) => pitem.content[0].id == this.data.bookDetail.id |
| | | ); |
| | | if (isApply) { |
| | | wx.showToast({ |
| | |
| | | this.setData({ |
| | | electronicBookList: eList, |
| | | }); |
| | | wx.setStorageSync("electronicBookList", eList); |
| | | wx.setStorageSync("electronicBookList", JSON.stringify(eList)); |
| | | } else { |
| | | pList.push(itemAttr); |
| | | this.setData({ |
| | | paperBookList: pList, |
| | | }); |
| | | wx.setStorageSync("paperBookList", pList); |
| | | wx.setStorageSync("paperBookList", JSON.stringify(pList)); |
| | | } |
| | | this.setData({ |
| | | num: this.data.num + 1, |