| | |
| | | title: options.name, |
| | | }) |
| | | this.getBookInfo(options.id); |
| | | this.getResourceClass(); // 获取资源所属分类 |
| | | // this.getResourceClass(); // 获取资源所属分类 |
| | | const token = wx.getStorageSync(app.config.tokenKey); |
| | | if (token) { |
| | | this.getShoppingCartProductGet(); |
| | |
| | | this.setData({ |
| | | bookDetail: res.datas, |
| | | buyIdList: res.datas.purchasedSaleMethodIdList, |
| | | pageLoading: false |
| | | }); |
| | | if (res.datas.cmsDatas && res.datas.cmsDatas.length) { |
| | | this.setData({ |
| | |
| | | this.getSubTtem(); |
| | | // 获取图书分类 |
| | | if (res.datas.bookClassification) { |
| | | let classData = [] |
| | | const bookClassification = JSON.parse(res.datas.bookClassification); |
| | | if (Array.isArray(bookClassification) && bookClassification.length) { |
| | | for (let index = 0; index < bookClassification.length; index++) { |
| | | const element = bookClassification[index]; |
| | | const iconType = element[0]; |
| | | const classType = element[1]; |
| | | await this.getBookClass(iconType, classType); |
| | | classData.push({ |
| | | iconType, |
| | | classType |
| | | }) |
| | | } |
| | | await this.getBookClass(classData); |
| | | } |
| | | } |
| | | |
| | |
| | | "bookDetail.paperPrice": this.numFormat( |
| | | this.data.bookDetail.paperPrice |
| | | ), |
| | | pageLoading: false, |
| | | |
| | | }); |
| | | console.log("图书信息", this.data.bookClass); |
| | | }); |
| | |
| | | "fileInfo.bookName": this.data.bookDetail.name, |
| | | "fileInfo.fileType": "pdf", |
| | | "fileInfo.md5": res.datas[0].bookshelf_pdf, |
| | | "fileInfo.freePage": res.datas[0].bookshelf_probationPage, |
| | | "fileInfo.freePage": res.datas[0].bookshelf_probationPage ? res.datas[0].bookshelf_probationPage : 30, |
| | | }); |
| | | } 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, |
| | | "fileInfo.freePage": res.datas[0].bookshelf_freeEpub ? res.datas[0].bookshelf_freeEpub : 30, |
| | | }); |
| | | } |
| | | } |
| | |
| | | "fileInfo.bookName": this.data.bookDetail.name, |
| | | "fileInfo.fileType": "pdf", |
| | | "fileInfo.md5": this.data.bookDetail.pdf, |
| | | "fileInfo.freePage": this.data.bookDetail.probationPage, |
| | | "fileInfo.freePage": this.data.bookDetail.probationPage ? this.data.bookDetail.probationPage : 30, |
| | | }); |
| | | } else if (this.data.bookDetail.protectedEpub) { |
| | | |
| | |
| | | "fileInfo.bookName": this.data.bookDetail.name, |
| | | "fileInfo.fileType": "epub", |
| | | "fileInfo.md5": this.data.bookDetail.protectedEpub, |
| | | "fileInfo.freePage": this.data.bookDetail.freeEpubPage, |
| | | "fileInfo.freePage": this.data.bookDetail.freeEpubPage ? this.data.bookDetail.freeEpubPage : 30, |
| | | }); |
| | | } |
| | | } |
| | |
| | | }); |
| | | }, |
| | | // 获取图书分类 |
| | | async getBookClass(iconType, classType) { |
| | | async getBookClass(list) { |
| | | let name = ""; |
| | | const query = { |
| | | refCodes: ["bookClassification"], |
| | | }; |
| | | await app.MG.store.getProductTypeField(query).then((res) => { |
| | | JSON.parse(res[0].config).option.forEach((item) => { |
| | | if (item.value == iconType) { |
| | | item.child.forEach((citem) => { |
| | | if (citem.value == classType) { |
| | | const flag = this.data.bookClass.findIndex((ditem) => ditem == citem.name) |
| | | if (flag == -1) { |
| | | let list = this.data.bookClass |
| | | list.push(citem.name) |
| | | this.setData({ |
| | | bookClass: list |
| | | }) |
| | | } |
| | | for (let aindex = 0; aindex < list.length; aindex++) { |
| | | const aitem = list[aindex]; |
| | | const iconType = aitem.iconType |
| | | const classType = aitem.classType |
| | | JSON.parse(res[0].config).option.forEach((item) => { |
| | | if (item.value == iconType) { |
| | | if (item.child && item.child.length) { |
| | | item.child.forEach((citem) => { |
| | | if (citem.value == classType) { |
| | | const flag = this.data.bookClass.findIndex((ditem) => ditem == citem.name) |
| | | if (flag == -1) { |
| | | let list = this.data.bookClass |
| | | list.push(citem.name) |
| | | this.setData({ |
| | | bookClass: list |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | // 收藏 |
| | |
| | | const checkData = this.data.cmsDatas.find( |
| | | (item) => item.refCode == e.detail.value |
| | | ); |
| | | |
| | | if (!this.data.resourceClassList.length) this.getResourceClass() |
| | | if (checkData) { |
| | | if (e.detail.value == "jsek_cloudLearning") { |
| | | this.setData({ |
| | |
| | | // this.getResourceData(checkData); |
| | | // } |
| | | if ((e.detail.value == "jsek_teachingResources" && !this.data.teach.length) || (e.detail.value == "jsek_cloudLearning" && !this.data.learn.length)) { |
| | | if (e.detail.value == "jsek_teachingResources") { |
| | | wx.setStorageSync('teachResourcesPath', checkData.productLinkPath) |
| | | } |
| | | wx.setStorageSync('teachResourcesPath', checkData.productLinkPath) |
| | | this.getResourceDataList(checkData) |
| | | } else if (e.detail.value == "questionBank" && !this.data.test.length) { |
| | | this.getResourceData(checkData); |
| | |
| | | // newArr.push(item) |
| | | // 在插入过程中对数据进行排序 |
| | | newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item, addNum) |
| | | // 插进数组后 从原数据中删除 |
| | | rootList = rootList.filter(nitem => nitem.id != item.id) |
| | | } |
| | | } |
| | | //给数组里面再添加一个children的空数组 |
| | | // let addnum1 = pathLength - path.length == 6 ? 6 : 7 |
| | | for (const i of newArr) { |
| | | i.children = [] |
| | | this.getTreeList(rootList, pathLength + addNum, i.children, i.productLinkPath, addNum) |
| | | let addnum1 = i.productLinkPath.length - path.length == 6 ? 6 : 7 |
| | | this.getTreeList(rootList, pathLength + addnum1, i.children, i.productLinkPath, addnum1) |
| | | if (i.children.length == 0) { |
| | | delete i.children |
| | | } |
| | |
| | | insertAndSortObjectsByProductLinkPath(array, newObj, addNum) { |
| | | // 查找新对象应该插入的位置 |
| | | let insertIndex = array.findIndex(obj => Number(newObj.productLinkPath.substring(newObj.productLinkPath.length - addNum, newObj.productLinkPath.length)) < Number(obj.productLinkPath.substring(obj.productLinkPath.length - addNum, obj.productLinkPath.length))); |
| | | |
| | | // 如果没有找到合适的位置,则放在数组末尾 |
| | | if (insertIndex === -1) { |
| | | insertIndex = array.length; |
| | |
| | | size: 999 |
| | | }, |
| | | } |
| | | app.MG.store.getProductDetail(query).then((res) => { |
| | | app.MG.store.getProductDetailNoChildren(query).then((res) => { |
| | | if (!res.datas.cmsDatas[0].datas.length) { |
| | | return this.setData({ |
| | | noResources: true, |
| | |
| | | }) |
| | | } |
| | | } |
| | | const addNum = query.cmsPath.length > 12 ? 7 : query.cmsPath.length > 14 ? 8 : 6 |
| | | const addNum = query.cmsPath.length > 10 ? 7 : query.cmsPath.length > 14 ? 8 : 6 |
| | | const num = query.cmsPath.length + addNum |
| | | this.getTreeList(res.datas.cmsDatas[0].datas, num, list, '\\', addNum) |
| | | list = this.ensureTreeConsistency(list) |
| | | list = this.changeResourceChildren(list) |
| | | console.log('修改后云', list); |
| | | console.log('修改后', list); |
| | | let result = []; |
| | | if (type.refCode == "jsek_teachingResources") { |
| | | this.findChildIds(list, result); |
| | | this.setData({ |
| | | teach: list, |
| | | loading: false, |
| | | openTeachids: result, |
| | | loading: false, |
| | | teach: list, |
| | | }); |
| | | } else if (type.refCode == "jsek_cloudLearning") { |
| | | let arr = this.handleTreeData(list).filter( |
| | |
| | | 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((item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0); |
| | | if (data.length > 0) { |
| | | let list = [] |
| | | console.log(query.cmsPath, query.cmsPath.length) |
| | | // 测试 6位// 正式 5位// 测试调用传20,内部7 正式调用传17 内部传6 |
| | | const addNum = query.cmsPath.length > 12 ? 7 : query.cmsPath.length > 14 ? 8 : 6 |
| | | const num = query.cmsPath.length + addNum |
| | | this.getTreeList(data, num, list, '\\', addNum) |
| | | list = this.ensureTreeConsistency(list) |
| | | let result = []; |
| | | this.findChildIds(list[0].children, result); |
| | | this.setData({ |
| | | test: list[0].children, |
| | | loading: false, |
| | | openTeachids: result, |
| | | }); |
| | | console.log(this.data.test, "test") |
| | | let data = [] |
| | | let result = []; |
| | | if (this.data.options.storeInfo == 'jsek_jslx') { |
| | | data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder'); |
| | | if (data.length > 0) { |
| | | this.setData({ |
| | | test: data, |
| | | loading: false, |
| | | openTeachids: result, |
| | | }); |
| | | } else { |
| | | this.setData({ |
| | | noResources: true, |
| | | loading: false, |
| | | }); |
| | | } |
| | | } else { |
| | | data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0); |
| | | if (data.length > 0) { |
| | | let list = [] |
| | | // 测试 6位// 正式 5位// 测试调用传20,内部7 正式调用传17 内部传6 |
| | | |
| | | const addNum = query.cmsPath.length > 10 ? 7 : query.cmsPath.length > 14 ? 8 : 6 |
| | | const num = query.cmsPath.length + addNum |
| | | this.getTreeList(data, num, list, '\\', addNum) |
| | | list = this.ensureTreeConsistency(list) |
| | | this.findChildIds(list[0].children, result); |
| | | this.setData({ |
| | | test: list[0].children, |
| | | loading: false, |
| | | openTeachids: result, |
| | | }); |
| | | } else { |
| | | this.setData({ |
| | | noResources: true, |
| | | loading: false, |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | }) |
| | |
| | | // 获取展开项 |
| | | 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 |
| | | if (data) |
| | | for (let i = 0; i < data.length; i++) { |
| | | if (index < 3) { |
| | | const item = data[i] |
| | | if (item.children && item.children.length > 0) { |
| | | result.push(item.id) |
| | | if (item.children) { |
| | | 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 { |
| | | break |
| | | } |
| | | } else if (item.childrenCount > 0) { |
| | | result.push(item.id) |
| | | index += 1 |
| | | } |
| | | } else if (item.childrenCount > 0) { |
| | | result.push(item.id) |
| | | index += 1 |
| | | } else { |
| | | break |
| | | } |
| | | } else { |
| | | break |
| | | } |
| | | } |
| | | }, |
| | | |
| | | // 图书添加购物车 |
| | |
| | | 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() |
| | | const flag = new Date(smBook.feedBack.endDate + ' 23:59:59').getTime() > new Date().getTime() |
| | | if (flag) { |
| | | this.setData({ |
| | | applicationState: 'Normal' |
| | |
| | | }); |
| | | return false; |
| | | } else if (isApply.state == 'Normal') { |
| | | const flag = new Date(isApply.feedBack.endDate + '23:59:59').getTime() > new Date().getTime() |
| | | console.log(isApply.state, "isApply.state") |
| | | const flag = new Date(isApply.feedBack.endDate + ' 23:59:59').getTime() > new Date().getTime() |
| | | if (flag) { |
| | | wx.showToast({ |
| | | title: "该书已申请!", |