| | |
| | | productLinkPath: options.productLinkPath, |
| | | refCode: options.refCode |
| | | }); |
| | | this.getResourceClass(); |
| | | this.getShoppingCartProductGet(); |
| | | }, |
| | | |
| | |
| | | if (item.fileMap[item.file].protectType == 'Private') item.disabled = true |
| | | } |
| | | } |
| | | // 在插入过程中对数据进行排序 并且去除已经领取和购买的 |
| | | if (item.sysType == 'CmsFolder') { |
| | | newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item) |
| | | } else if (item.sysType == 'CmsItem' && this.resourceIsBuy(item)) { |
| | | newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item) |
| | | } |
| | | // 在插入过程中对数据进行排序 |
| | | newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item) |
| | | // 插进数组后 从原数据中删除 |
| | | rootList = rootList.filter(nitem => nitem.id != item.id) |
| | | } |
| | | } |
| | | //给数组里面再添加一个children的空数组 |
| | |
| | | flattenedArray.push(...childrenArray); |
| | | } |
| | | }); |
| | | return flattenedArray.filter((item) => item.sysType == "CmsItem"); |
| | | return flattenedArray; |
| | | }, |
| | | |
| | | // 教学资源 云学习 获取 |
| | | // 递归树结构,如果父级有销售方式(有效期),去掉所有子集的销售方式 |
| | | clearTreeSealmethod(clearSaleMethod, tree) { |
| | | for (let item of tree) { |
| | | const saleData = item.saleMethod && |
| | | item.saleMethod.length ? |
| | | item.saleMethod.find((citem) => citem.SaleType == 'Normal') : null |
| | | if ( |
| | | ((saleData && new Date(saleData.EndDate).getTime() >= new Date().getTime() && new Date(saleData.BeginDate).getTime() <= new Date().getTime()) || |
| | | clearSaleMethod) && item.children && item.children.length |
| | | ) { |
| | | item.children.forEach((ditem) => (ditem.saleMethod = [])) |
| | | } |
| | | if (item.children && item.children.length) |
| | | this.clearTreeSealmethod( |
| | | saleData && new Date(saleData.EndDate).getTime() >= new Date().getTime() && new Date(saleData.BeginDate).getTime() <= new Date().getTime(), |
| | | item.children |
| | | ) |
| | | } |
| | | return tree |
| | | }, |
| | | // 勾选禁用 |
| | | handleTreeCheck(tree) { |
| | | for (const item of tree) { |
| | | const saleData = item.saleMethod && |
| | | item.saleMethod.length ? |
| | | item.saleMethod.find((citem) => citem.SaleType == 'Normal') : undefined |
| | | if (saleData && new Date(saleData.EndDate).getTime() >= new Date().getTime() && new Date(saleData.BeginDate).getTime() <= new Date().getTime()) { |
| | | item.disabled = false |
| | | } else { |
| | | item.disabled = true |
| | | } |
| | | if (item.children && item.children.length) this.handleTreeCheck(item.children) |
| | | } |
| | | return tree |
| | | }, |
| | | // 获取云学习 |
| | | getResourceDataList(type) { |
| | | this.setData({ |
| | | loading: true, |
| | |
| | | }); |
| | | } |
| | | let list = [] |
| | | // 测试 6位// 正式 5位// 测试调用传20,内部7 正式调用传17 内部传6 |
| | | //教学资源 云学习 |
| | | if ( |
| | | type.refCode == "jsek_teachingResources" || |
| | | type.refCode == "jsek_cloudLearning" |
| | | ) { |
| | | res.datas.cmsDatas[0].datas.forEach((item) => { |
| | | item.checked = false; |
| | | if (item.sysType == 'CmsItem') { |
| | | // 教学资源 类型名称赋值 |
| | | this.data.resourceClassList.forEach((type) => { |
| | | if (type.value == item.resourcesClassification) |
| | | item.resourceClass = type.name; |
| | | }); |
| | | item.isbuy = this.isShowNeedBuy(item); |
| | | item.isShopCar = this.isShoppingCart(item); |
| | | } |
| | | res.datas.cmsDatas[0].datas.forEach((item) => { |
| | | item.checked = false; |
| | | // if (item.sysType == 'CmsItem') { |
| | | // item.isbuy = this.resourceIsBuy(item); |
| | | // item.isShopCar = this.isShoppingCart(item); |
| | | // } |
| | | }); |
| | | // 显示 需要购买的和需要免费领取的 |
| | | this.getTreeList(res.datas.cmsDatas[0].datas, list, query.cmsPath) |
| | | list = this.ensureTreeConsistency(list) |
| | | list = this.changeResourceChildren(list) |
| | | list = this.clearTreeSealmethod(false, list) |
| | | list = this.handleTreeCheck(list) |
| | | this.handleTreeData(list).forEach(item => { |
| | | item.isbuy = this.resourceIsBuy(item); |
| | | item.isShopCar = this.isShoppingCart(item); |
| | | }) |
| | | console.log('修改后云', list); |
| | | let result = []; |
| | | let arr = res.datas.cmsDatas[0].datas.filter( |
| | | (item) => item.saleMethod[0] |
| | | ); |
| | | let freeIds = arr.filter((item) => { |
| | | return item.saleMethod[0].Price == 0; |
| | | }); |
| | | if (!freeIds.length) |
| | | this.setData({ |
| | | isshowDrawBtn: false, |
| | | }); |
| | | // 显示 需要购买的和需要免费领取的 |
| | | this.getTreeList(res.datas.cmsDatas[0].datas, list, query.cmsPath) |
| | | list = this.ensureTreeConsistency(list) |
| | | list = this.changeResourceChildren(list) |
| | | console.log('修改后云', list); |
| | | let result = []; |
| | | if (type.refCode == "jsek_teachingResources") { |
| | | this.findChildIds(list, result); |
| | | this.setData({ |
| | | teach: list, |
| | | loading: false, |
| | | openTeachids: result, |
| | | }); |
| | | } else if (type.refCode == "jsek_cloudLearning") { |
| | | let arr = this.handleTreeData(list).filter( |
| | | (item) => item.saleMethod[0] |
| | | ); |
| | | let freeIds = arr.filter((item) => { |
| | | return item.saleMethod[0].Price == 0; |
| | | }); |
| | | if (!freeIds.length) |
| | | this.setData({ |
| | | isshowDrawBtn: false, |
| | | }); |
| | | this.findChildIds(list, result); |
| | | this.setData({ |
| | | learn: list, |
| | | loading: false, |
| | | openLearnids: result, |
| | | }); |
| | | } |
| | | } |
| | | this.findChildIds(list, result); |
| | | this.setData({ |
| | | learn: list, |
| | | loading: false, |
| | | openLearnids: result, |
| | | }); |
| | | }) |
| | | }, |
| | | |
| | | async getBookInfo(id) { |
| | | this.setData({ |
| | | "mockData'.id": 0, |
| | | "mockData.price": 0, |
| | | "mockData.count": 0, |
| | | }); |
| | | const query = { |
| | | path: "*", |
| | | queryType: "*", |
| | |
| | | // 判断资源是否购买 |
| | | resourceIsBuy(data) { |
| | | if (data.saleMethod && data.saleMethod.length) { |
| | | const isSHow = this.data.buyIdList.some( |
| | | (item) => item == data.saleMethod[0].Id |
| | | const saleData = data.saleMethod.find((item) => item.SaleType == 'Normal') |
| | | if (saleData.State == 'Disable') return false |
| | | const isShow = this.data.buyIdList.some( |
| | | (item) => item == saleData.Id |
| | | ); |
| | | return !isSHow; |
| | | // 已经购买 |
| | | if (isShow) return false |
| | | // 未购买,查看销售方式是否过期 |
| | | if (!isShow) { |
| | | const flag = new Date(saleData.EndDate).getTime() >= new Date().getTime() && |
| | | new Date(saleData.BeginDate).getTime() <= new Date().getTime() |
| | | if (flag) { |
| | | // 为过期 ,需要购买 |
| | | return true |
| | | } else { |
| | | // 已过期 无需购买 |
| | | return false |
| | | } |
| | | } |
| | | } else { |
| | | return false; |
| | | } |
| | | }, |
| | | |
| | | isShowNeedBuy(data) { |
| | | if (data.saleMethod && data.saleMethod.length) { |
| | | const isSHow = this.data.buyIdList.some( |
| | | (item) => item == data.saleMethod[0].Id |
| | | ); |
| | | if (isSHow) { |
| | | return false; |
| | | } else { |
| | | return data.saleMethod[0].Price > 0 ? true : false; |
| | | } |
| | | return !isSHow; |
| | | } else { |
| | | return false; |
| | | } |
| | | }, |
| | | // 判断资源加入购物车按钮是否显示 |
| | | isShoppingCart(data) { |
| | | if (data.saleMethod && data.saleMethod.length) { |
| | | if (data.saleMethod[0].Price <= 0) return false; |
| | | const saleData = data.saleMethod.find((item) => item.SaleType == 'Normal') |
| | | // 先判断是否免费 |
| | | if (saleData.Price <= 0) return false |
| | | // 再判断是否购买 |
| | | const isBuy = this.data.buyIdList.some( |
| | | (item) => item == data.saleMethod[0].Id |
| | | ); |
| | | const isBuy = this.data.buyIdList.some((item) => item == saleData.Id) |
| | | if (isBuy) { |
| | | // 购买了 |
| | | return false; |
| | | return false |
| | | } else { |
| | | // 判断是否加入购物车 |
| | | const isSHow = this.data.shoppingCartGetId.some( |
| | | (item) => item == data.saleMethod[0].Id |
| | | ); |
| | | return !isSHow; |
| | | const isShow = this.data.shoppingCartGetId.some((item) => item == saleData.Id) |
| | | if (isShow) return false |
| | | // 未购买,查看销售方式是否过期 |
| | | if (!isShow) { |
| | | const flag = new Date(saleData.EndDate).getTime() >= new Date().getTime() && |
| | | new Date(saleData.BeginDate).getTime() <= new Date().getTime() |
| | | if (flag) { |
| | | // 为过期 ,需要购买 |
| | | return true |
| | | } else { |
| | | // 已过期 无需购买 |
| | | return false |
| | | } |
| | | } |
| | | } |
| | | // 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; |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | // 获取资源所属分类 |
| | | getResourceClass() { |
| | | let query = { |
| | | refCodes: ["resourcesClassification"], |
| | | }; |
| | | app.MG.store.getProductTypeField(query).then((res) => { |
| | | this.setData({ |
| | | resourceClassList: JSON.parse(res[0].config).option, |
| | | }); |
| | | |
| | | }); |
| | | }, |
| | | checkAll() { |
| | | const child = this.selectComponent("#tree"); |
| | | child.checkAll(); |
| | |
| | | title: '暂无数据', |
| | | }) |
| | | } |
| | | let saleMethodIds = []; |
| | | let requests = []; |
| | | let item = []; |
| | | let selectAllId = []; |
| | | const child = this.selectComponent("#tree"); |
| | | item = child.data.superiorPurchaseSaleMethodId; |
| | | const sonItem = child.data.sonPurchaseSaleMethodId; |
| | | let selectAll = child.data.selectAll; |
| | | if (selectAll) { |
| | | selectAll.forEach((item) => { |
| | | if (item.saleMethod != 0) { |
| | | selectAllId.push(item.saleMethod[0].Id); |
| | | } |
| | | }); |
| | | app.MG.store |
| | | .initOrder({ |
| | | requests: selectAllId.map((id) => ({ |
| | | saleMethodId: id, |
| | | count: 1, |
| | | })), |
| | | }) |
| | | .then((res) => { |
| | | if (res) { |
| | | wx.navigateTo({ |
| | | url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, |
| | | }); |
| | | selectAllId = []; |
| | | child.setData({ |
| | | selectAll: [], |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | if (item) { |
| | | // 拿到id |
| | | item.forEach((items) => { |
| | | if (items.saleMethod != 0) { |
| | | saleMethodIds.push(items.saleMethod[0].Id); |
| | | } |
| | | }); |
| | | app.MG.store |
| | | .initOrder({ |
| | | requests: saleMethodIds.map((id) => ({ |
| | | saleMethodId: id, |
| | | count: 1, |
| | | })), |
| | | }) |
| | | .then((res) => { |
| | | if (res) { |
| | | wx.navigateTo({ |
| | | url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, |
| | | }); |
| | | // 修改后方法 |
| | | const checkData = this.handleTreeData(this.data.learn).filter(item => item.checked == true) |
| | | console.log('选中', checkData); |
| | | // let saleMethodIds = []; |
| | | // let requests = []; |
| | | // let item = []; |
| | | // let selectAllId = []; |
| | | // const child = this.selectComponent("#tree"); |
| | | // item = child.data.superiorPurchaseSaleMethodId; |
| | | // const sonItem = child.data.sonPurchaseSaleMethodId; |
| | | // let selectAll = child.data.selectAll; |
| | | // if (selectAll.length) { |
| | | // selectAll.forEach((item) => { |
| | | // if (item.saleMethod != 0) { |
| | | // selectAllId.push(item.saleMethod[0].Id); |
| | | // } |
| | | // }); |
| | | // app.MG.store |
| | | // .initOrder({ |
| | | // requests: selectAllId.map((id) => ({ |
| | | // saleMethodId: id, |
| | | // count: 1, |
| | | // })), |
| | | // }) |
| | | // .then((res) => { |
| | | // if (res) { |
| | | // wx.navigateTo({ |
| | | // url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, |
| | | // }); |
| | | // selectAllId = []; |
| | | // child.setData({ |
| | | // selectAll: [], |
| | | // }); |
| | | // } |
| | | // }); |
| | | // } |
| | | // if (item) { |
| | | // // 拿到id |
| | | // item.forEach((items) => { |
| | | // if (items.saleMethod != 0) { |
| | | // saleMethodIds.push(items.saleMethod[0].Id); |
| | | // } |
| | | // }); |
| | | // app.MG.store |
| | | // .initOrder({ |
| | | // requests: saleMethodIds.map((id) => ({ |
| | | // saleMethodId: id, |
| | | // count: 1, |
| | | // })), |
| | | // }) |
| | | // .then((res) => { |
| | | // if (res) { |
| | | // wx.navigateTo({ |
| | | // url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, |
| | | // }); |
| | | |
| | | child.setData({ |
| | | superiorPurchaseSaleMethodId: [], // 使用setData方法清空sonPurchaseSaleMethodId数据 |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | if (item.length == 0 && sonItem) { |
| | | app.MG.store |
| | | .initOrder({ |
| | | requests: sonItem.map((id) => ({ |
| | | saleMethodId: id, |
| | | count: 1, |
| | | })), |
| | | }) |
| | | .then((res) => { |
| | | if (res) { |
| | | wx.navigateTo({ |
| | | url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, |
| | | }); |
| | | this.setData({ |
| | | paymentPage: true, |
| | | }); |
| | | child.setData({ |
| | | sonPurchaseSaleMethodId: [], // 使用setData方法清空sonPurchaseSaleMethodId数据 |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | // child.setData({ |
| | | // superiorPurchaseSaleMethodId: [], // 使用setData方法清空sonPurchaseSaleMethodId数据 |
| | | // }); |
| | | // } |
| | | // }); |
| | | // } |
| | | // if (item.length == 0 && sonItem) { |
| | | // app.MG.store |
| | | // .initOrder({ |
| | | // requests: sonItem.map((id) => ({ |
| | | // saleMethodId: id, |
| | | // count: 1, |
| | | // })), |
| | | // }) |
| | | // .then((res) => { |
| | | // if (res) { |
| | | // wx.navigateTo({ |
| | | // url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, |
| | | // }); |
| | | // this.setData({ |
| | | // paymentPage: true, |
| | | // }); |
| | | // child.setData({ |
| | | // sonPurchaseSaleMethodId: [], // 使用setData方法清空sonPurchaseSaleMethodId数据 |
| | | // }); |
| | | // } |
| | | // }); |
| | | // } |
| | | }, |
| | | |
| | | // 章节勾选方法 |
| | |
| | | this.setData({ |
| | | learn: updated |
| | | }) |
| | | }, |
| | | upDateShopCar(id, tree) { |
| | | for (let item of tree) { |
| | | if (item.id == id) { |
| | | item.isShopCar = false |
| | | } else { |
| | | if (item.children && item.children.length) this.upDateShopCar(id, item.children) |
| | | } |
| | | } |
| | | return tree |
| | | }, |
| | | // 更新购物车图标 |
| | | updateCloudLearning(e) { |
| | | const { |
| | | id |
| | | } = e.detail |
| | | console.log(id); |
| | | const list = this.upDateShopCar(id, this.data.learn) |
| | | this.setData({ |
| | | learn: list |
| | | }) |
| | | } |
| | | }); |