From c96612e8a63ecef9590be0f8b5199277ec94e5b9 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期三, 18 九月 2024 18:43:12 +0800 Subject: [PATCH] 云学习购买目录,修改bug --- packageBookService/pages/bookServices/detail/index.js | 2969 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 2,022 insertions(+), 947 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js index b538001..44051f6 100644 --- a/packageBookService/pages/bookServices/detail/index.js +++ b/packageBookService/pages/bookServices/detail/index.js @@ -1,29 +1,38 @@ // pages/bookServices/detail/index.js -import Message from 'tdesign-miniprogram/message/index.js'; -import Toast from 'tdesign-miniprogram/toast'; -import tool from '../../../../assets/js/toolClass' +import Toast from "tdesign-miniprogram/toast"; +import tool from "../../../../assets/js/toolClass"; +import moment from 'moment' +import { + loginInfo +} from "../../../../assets/js/login"; +import FormData from '../../../../utils/formdata/index.js'; const app = getApp(); Page({ /** * 椤甸潰鐨勫垵濮嬫暟鎹� */ data: { - bookId: '', - barHeight: '', - navBarHeight: '', + // 杩涢〉闈㈤粯璁ゅ垏鎹� 灞曞紑鐨刬d + // defaultactiveTeachid 鏁欏璧勬簮 + // defaultactiveLearnid 浜戝涔� + bookId: "", + barHeight: "", + navBarHeight: "", options: { - id: '', - name: '', + id: "", + name: "", + storeInfo: '', }, bookDetail: {}, + bookClass: [], bookItemDetail: {}, link: { - jd: '', - tamll: '', - dang: '', - micro: '', + jd: "", + tamll: "", + dang: "", + micro: "", }, - tabValue: 'brief', + tabValue: "brief", cmsDatas: [], // 璧勬簮refCode鍒楄〃 ids: [1], list: [], @@ -31,33 +40,47 @@ teach: [], learn: [], test: [], + jslx: true, openTeachids: [], openLearnids: [], openTestids: [], + isGoBuyResource: true, + learnPath: '', + applyResourceState: false, // 鐢宠鏁欏璧勬簮鎸夐挳闃叉姈 resourceClassList: [], // 璧勬簮鎵�灞炲垎绫� - applyState: "", // 鏁欏璧勬簮鐢宠鐘舵�� - deadline: "", // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡 - rejectCause: "", // 涓嬭浇鎷掔粷鍘熷洜 + applyState: "", // 鏁欏璧勬簮鐢宠鐘舵�� + deadline: "", // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡, + isshowDrawBtn: true, // 浜戝涔犻鍙栨煡鐪嬫寜閽槸鍚︽樉绀� + isShowBuyCloundMenu: false, // 浜戝涔犲叏閮ㄨ喘涔版寜閽槸鍚︽樉绀� + isCloundHaveSaleMethod: false, // 浜戝涔犳槸鍚︽湁閿�鍞柟寮� + cloundMenuIsBuy: false, + rejectCause: "", // 涓嬭浇鎷掔粷鍘熷洜 buyIdList: [], shoppingCartGetId: [], // 宸茶喘涔癷d鍒楄〃 shoppingList: [], loading: false, - isShowTeachDownload: false, // 鎻愮ずPC涓嬭浇寮圭獥鐘舵�� - confirmBtn: { content: '鎴戠煡閬撲簡', variant: 'base' }, + isShowTeachDownload: false, // 鎻愮ずPC涓嬭浇寮圭獥鐘舵�� + confirmBtn: { + content: "鎴戠煡閬撲簡", + variant: "base", + }, mockData: { id: 0, // 閿�鍞甶d price: 0, // 鍞环 count: 0, // 缁勫嵎宸茶喘涔版鏁� useCount: 0, // 缁勪欢宸蹭娇鐢ㄦ鏁� residue: 0, // 缁勫嵎鍓╀綑娆℃暟 - mockList: [] // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅 + mockList: [], // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅 }, + relatedBookLoading: false, + noRelatedBookData: false, + relatedBookPath: "", // 鐩稿叧鍥句功path + relatedBookData: [], // 鐩稿叧鍥句功鍒楄〃 flag: true, - applyResourceLoading: false, noResources: false, - selectedIds: "",//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮� + selectedIds: "", //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮� bookBuy: false, //鍟嗗搧鎴栧瓙鍟嗗搧鏄惁璐拱 - expire: false,//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈� + expire: false, //鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈� noFile: false, //鍟嗗搧鎴栧瓙鍟嗘湁鏃犵數瀛愪功鏂囦欢 num: 0, //鏍蜂功鐢宠鍗曟暟閲� alreadyPaperBookList: [], //宸茬敵璇风焊璐ㄦ牱涔� @@ -66,25 +89,131 @@ electronicBookList: [], //鏍蜂功鍗曠數瀛愪功 paperBookCount: 0, //绾歌川涔﹀墿浣欐鏁� ebookCount: 0, //鐢靛瓙涔﹀墿浣欐鏁� + resourceCodeList: [], // 璧勬簮refcode鍒楄〃 userInfo: {}, + pageLoading: true, fileInfo: { bookName: "", fileType: "", md5: "", - freePage: "" - }, //闃呰鍣ㄦ暟鎹� + freePage: "", + }, //闃呰鍣ㄦ暟鎹� buyResourceData: { - productLinkPath: '', - refCode: '', - } + productLinkPath: "", + refCode: "", + }, + briefIcon: { + name: "/static/images/bookService/detail/tushujianjie-g.png", + }, + briefIconClick: { + name: "/static/images/bookService/detail/tushujianjie-click.png", + }, + eBookIcon: { + name: "/static/images/bookService/detail/ebook-g.png", + }, + eBookClickIcon: { + name: "/static/images/bookService/detail/ebook-click.png", + }, + teachResourcesIcon: { + name: "/static/images/bookService/detail/jiaoxueziyuan.png", + }, + teachResourcesClickIcon: { + name: "/static/images/bookService/detail/jiaoxueziyuan-click.png", + }, + learnResourceIcon: { + name: "/static/images/bookService/detail/yunxuexi.png", + }, + learnResourceClickIcon: { + name: "/static/images/bookService/detail/yunxuexi-click.png", + }, + testResourceIocn: { + name: "/static/images/bookService/detail/test-icon-g.png", + }, + testResourceClickIocn: { + name: "/static/images/bookService/detail/test-click-icon.png", + }, + noteIcon: { + name: "/static/images/bookService/detail/biji-icon-g.png", + }, + noteClickIcon: { + name: "/static/images/bookService/detail/biji-click-icon.png", + }, + linkIcon: { + name: "/static/images/bookService/detail/link.png", + }, + linkClickIcon: { + name: "/static/images/bookService/detail/link-click.png", + }, + icon1: { + name: "/static/images/bookService/detail/dangdang.png", + }, + rowCol: [{ + width: '50%', + }, + { + width: '100%' + }, + { + width: '80%' + }, + { + width: '100%' + }, { + width: '100%' + }, + ], + showIndex: '', + successOrderNumber: '', + applicationState: '', // 鐢靛瓙鏍蜂功鐢宠鐘舵�� + dialogBox: false, + resourceInfo: { + resourceName: '', + fileType: '', + description: '', + agree: false + }, + resourceVisible: false, + resourceValue: [], + fileTypeList: [{ + label: '闊抽', + value: '闊抽' + }, + { + label: '瑙嗛', + value: '瑙嗛' + }, + { + label: '鍥剧墖', + value: '鍥剧墖' + }, + { + label: 'PDF', + value: 'PDF' + }, + { + label: '璧勬簮鍖�', + value: '璧勬簮鍖�' + }, + { + label: '鏂囨。', + value: '鏂囨。' + }, + { + label: '鍏朵粬', + value: '鍏朵粬' + } + ], + fileList: [], + isShowUp: true, + protocolShow: false, + protocolTxt: '' }, - resetTree: function (e) { this.setData({ currentCheck: e.detail.checkedItem, - list: e.detail.changeList - }) + list: e.detail.changeList, + }); }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 @@ -92,99 +221,92 @@ onLoad(options) { const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 - const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴� + const navBarHeight = + (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴� this.setData({ - bookId: options.id, + bookId: options.id + "", barHeight: systInfo.statusBarHeight, navBarHeight: navBarHeight, - }); - this.setData({ options: { id: options.id, - name: options.name, + name: decodeURI(options.name), + storeInfo: options.storeInfo, }, }); - + wx.setNavigationBarTitle({ + title: decodeURI(options.name), + }) + let token = wx.getStorageSync(app.config.tokenKey) + if (!token) { + loginInfo(app, (data) => { + if (data) {} else {} + }) + } this.getBookInfo(options.id); - this.getResourceClass() // 鑾峰彇璧勬簮鎵�灞炲垎绫� - const token = wx.getStorageSync('jsek-token') + // this.getResourceClass(); // 鑾峰彇璧勬簮鎵�灞炲垎绫� + token = wx.getStorageSync(app.config.tokenKey) if (token) { - this.getShoppingCartProductGet() - this.getApplyInfo(options.id) - this.getMockData() + this.getShoppingCartProductGet(); + this.getApplyInfo(options.id); + this.getAlreadyPBookList(); + this.getAlreadyEBookList(); } if (wx.getStorageSync(app.config.userInfoKey)) { this.setData({ - userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)) - }) + userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)), + }); + // 鑾峰彇鐢宠娆℃暟 + this.getSelectPaperBookCount(); + this.getSelectBookCount(); } - if (wx.getStorageSync("paperBookList")) { + if (options.tabValue) { this.setData({ - paperBookList: wx.getStorageSync("paperBookList"), - }) - } - if (wx.getStorageSync("electronicBookList")) { - this.setData({ - electronicBookList: wx.getStorageSync("electronicBookList"), - }) - } - this.setData({ - num: this.data.paperBookList.length + this.data.electronicBookList.length - }) - }, + tabValue: options.tabValue, + }); - /** - * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚 - */ - onReady() { + } }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず */ - onShow() { }, - - /** - * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌 - */ - onHide() { }, - - /** - * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇 - */ - onUnload() { }, - - /** - * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔 - */ - onPullDownRefresh() { - - + onShow() { + if (wx.getStorageSync("paperBookList")) { + this.setData({ + paperBookList: JSON.parse(wx.getStorageSync("paperBookList")), + }); + } + if (wx.getStorageSync("electronicBookList")) { + this.setData({ + electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList")), + }); + } + this.setData({ + num: Number(this.data.paperBookList.length) + Number(this.data.electronicBookList.length), + }); }, /** * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁� */ onReachBottom() { - if (this.data.tabValue == 'jsek_note') { - const child = this.selectComponent('#note') - child.onReachBottom() + if (this.data.tabValue == "jsek_note") { + const child = this.selectComponent("#note"); + if (!child.data.noList) child.onReachBottom(); } }, - /** - * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜� - */ - onShareAppMessage() { }, // 鏍煎紡鍖栨棩鏈� formatDate(dateString) { if (!dateString) { - return 'Invalid date'; + return ""; } - const match = dateString.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); + const match = dateString.match( + /^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/ + ); if (!match) { - throw new Error('Invalid date format'); + throw new Error("Invalid date format"); } const [, year, month, day, hours, minutes, seconds] = match; @@ -194,11 +316,11 @@ parseInt(day, 10), parseInt(hours, 10), parseInt(minutes, 10), - parseInt(seconds, 10), + parseInt(seconds, 10) ); if (isNaN(date.getTime())) { - throw new Error('Invalid date'); + throw new Error("Invalid date"); } // 鐢变簬灏忕▼搴忕幆澧冨彲鑳戒笉鏀寔 Intl.DateTimeFormat锛屾垜浠娇鐢ㄧ畝鍖栫殑鏍煎紡鍖栨柟娉� @@ -207,17 +329,32 @@ }, // 绠�鍖栫殑鏈堜唤鏍煎紡鍖栧嚱鏁帮紝杩斿洖鏈堜唤鐨勪腑鏂囪〃杈� formatMonth(month) { - const months = ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']; + const months = [ + "1鏈�", + "2鏈�", + "3鏈�", + "4鏈�", + "5鏈�", + "6鏈�", + "7鏈�", + "8鏈�", + "9鏈�", + "10鏈�", + "11鏈�", + "12鏈�", + ]; return months[parseInt(month, 10) - 1]; }, // 閲戦鏄剧ず.00鏍煎紡 numFormat(value) { - if (!value) return '0.00'; + if (!value) return "0.00"; value = Number(value).toFixed(2); var intPart = Math.trunc(value); // 鑾峰彇鏁存暟閮ㄥ垎 - var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); // 灏嗘暣鏁伴儴鍒嗛�笁涓�鏂� - var floatPart = '.00'; // 棰勫畾涔夊皬鏁伴儴鍒� - var value2Array = value.split('.'); + var intPartFormat = intPart + .toString() + .replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"); // 灏嗘暣鏁伴儴鍒嗛�笁涓�鏂� + var floatPart = ".00"; // 棰勫畾涔夊皬鏁伴儴鍒� + var value2Array = value.split("."); // =2琛ㄧず鏁版嵁鏈夊皬鏁颁綅 if (value2Array.length === 2) { floatPart = value2Array[1].toString(); // 鎷垮埌灏忔暟閮ㄥ垎 @@ -230,22 +367,35 @@ }, // 杩斿洖 goBack() { - wx.navigateBack(); + let bookPathList = wx.getStorageSync("bookPathList"); + if (bookPathList && JSON.parse(bookPathList).length) { + bookPathList = JSON.parse(bookPathList); + this.setData({ + pageLoading: true, + tabValue: "brief", + }); + this.onLoad(bookPathList[bookPathList.length - 1]); + bookPathList.pop(); + wx.setStorageSync("bookPathList", JSON.stringify(bookPathList)); + } else { + wx.navigateBack(); + } }, // 鑾峰彇鍥句功璇︽儏 getBookInfo(id) { this.setData({ "mockData'.id": 0, "mockData.price": 0, - "mockData.count": 0 - }) + "mockData.count": 0, + }); const query = { - path: '*', - queryType: '*', + storeInfo: this.data.options.storeInfo, + path: "*", + queryType: "*", productId: id, - favoriteTypes: 'FavoriteBookCity', + favoriteTypes: "FavoriteBookCity", itemFields: { - 'SysType=': 'CmsFolder', + "SysType=": "CmsFolder", }, coverSize: { height: 300, @@ -262,6 +412,7 @@ dangdangLink: [], weidianLink: [], content: [], + catalogue: [], authorIntroduction: [], // isApplyPaperBook: [], // isApplyEBook: [], @@ -274,61 +425,121 @@ }, }; app.MG.store.getProductDetail(query).then(async (res) => { + this.getResourceCode(id, res.datas.rootCmsItemId) this.setData({ bookDetail: res.datas, - cmsDatas: res.datas.cmsDatas[0].datas, - buyIdList: res.datas.purchasedSaleMethodIdList + buyIdList: res.datas.purchasedSaleMethodIdList, + pageLoading: false }); + if (res.datas.cmsDatas && res.datas.cmsDatas.length) { + this.setData({ + cmsDatas: res.datas.cmsDatas[0].datas, + }) + } + if (res.datas.datas.ProductLinkInfo) { + if (JSON.parse(res.datas.datas.ProductLinkInfo).length) this.setData({ + relatedBookPath: JSON.parse(res.datas.datas.ProductLinkInfo)[0] + .LinkPath, + }) + } this.getSubTtem(); // 鑾峰彇鍥句功鍒嗙被 - 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) + 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]; + classData.push({ + iconType, + classType + }) + } + await this.getBookClass(classData); + } + } + if (this.data.tabValue == 'questionBank' || this.data.tabValue == 'jsek_cloudLearning' || this.data.tabValue == 'jsek_teachingResources') { + const checkData = this.data.cmsDatas.find( + (item) => item.refCode == this.data.tabValue + ); + if (this.data.tabValue == "questionBank") { + this.getResourceData(checkData) + } else { + this.getResourceDataList(checkData) + } + } + // 鑾峰彇缁勫嵎閿�鍞甶d if (res.datas.saleMethod && res.datas.saleMethod.length) { res.datas.saleMethod.forEach((item) => { - if (item.SaleType == 'combinationTestPaper') { + if (item.SaleType == "combinationTestPaper") { this.setData({ - 'mockData.id': item.Id, - 'mockData.price': item.Price - }) + "mockData.id": item.Id, + "mockData.price": item.Price, + }); } - }) + }); } // 鑾峰彇缁勫嵎宸茶喘涔版鏁� - if (res.datas.purchasedSaleMethodIdList && res.datas.purchasedSaleMethodIdList.length) { + 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 + ).length; this.setData({ - 'mockData.count': count - }) + "mockData.count": count, + }); } } this.setData({ - 'bookDetail.publicationDate': this.formatDate(this.data.bookDetail.publicationDate), - '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), - }); - console.log('鍥句功淇℃伅', this.data.bookDetail); - }); + "bookDetail.publicationDate": moment(this.data.bookDetail.publicationDate).format("YYYY骞碝M鏈�"), + "bookDetail.price": this.numFormat(this.data.bookDetail.price), + "bookDetail.oldPrice": this.numFormat(this.data.bookDetail.oldPrice), + "bookDetail.paperPrice": this.numFormat( + this.data.bookDetail.paperPrice + ), + }); + }); + }, + getResourceCode(bookId, cmsId) { + let query = { + path: '*', + queryType: '*', + productId: bookId, + cmsPath: cmsId, + itemFields: { + SysType: 'Cms' + }, + pading: { + start: 99, + size: 0 + } + } + app.MG.store.getProductDetail(query).then((res) => { + this.setData({ + resourceCodeList: res.datas.cmsDatas[0].datas, + }) + console.log('refcode', this.data.resourceCodeList); + }) }, //璇锋眰瀛愬晢鍝佺殑鏂囦欢 getSubTtem() { const obj = { - path: '*', - queryType: 'SubProduct', + path: "*", + queryType: "SubProduct", sort: { - type: 'Desc', - field: 'CreateDate' + type: "Desc", + field: "CreateDate", }, paging: { start: 0, - size: 6 + size: 6, }, mainProductId: this.data.bookDetail.id, fields: { @@ -336,225 +547,420 @@ bookshelf_pdf: [], bookshelf_protectedEpub: [], bookshelf_freeEpub: [], //epub璇曡鐧惧垎姣� - bookshelf_probationPage: [] //pdf璇曡椤垫暟 - } - } + bookshelf_probationPage: [], //pdf璇曡椤垫暟 + }, + }; app.MG.store.getProductList(obj).then((res) => { if (res.datas && res.datas.length > 0) { this.setData({ bookItemDetail: res.datas[0], selectedIds: res.datas[0].defaultSaleMethod.id, - bookBuy: res.datas[0].purchasedSaleMethodIdList.indexOf(res.datas[0].defaultSaleMethodId) > -1 + bookBuy: res.datas[0].purchasedSaleMethodIdList.indexOf( + res.datas[0].defaultSaleMethodId + ) > -1, + "bookDetail.price": this.numFormat(res.datas[0].price), }); - console.log(this.data.bookItemDetail, 'bookItemData.value'); - let times = new Date(res.datas[0].defaultSaleMethod.endDate).getTime() - let startTime = new Date(res.datas[0].defaultSaleMethod.beginDate).getTime() + let times = new Date(res.datas[0].defaultSaleMethod.endDate).getTime(); + let startTime = new Date( + res.datas[0].defaultSaleMethod.beginDate + ).getTime(); + if (times < new Date().getTime() || new Date().getTime() < startTime) { this.setData({ - expire: true + expire: true, }); } else { this.setData({ - expire: false + expire: false, }); } - if (res.datas[0].bookshelf_pdf || res.datas[0].bookshelf_protectedEpub) { + if ( + res.datas[0].bookshelf_pdf || + res.datas[0].bookshelf_protectedEpub + ) { this.setData({ - noFile: true + noFile: true, }); if (res.datas[0].bookshelf_pdf) { this.setData({ "fileInfo.bookName": this.data.bookDetail.name, - "fileInfo.fileType": 'pdf', + "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.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, }); } } } else { if (this.data.bookDetail.pdf || this.data.bookDetail.protectedEpub) { this.setData({ - noFile: true + noFile: true, }); if (this.data.bookDetail.pdf) { this.setData({ "fileInfo.bookName": this.data.bookDetail.name, - "fileInfo.fileType": 'pdf', + "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) { + this.setData({ "fileInfo.bookName": this.data.bookDetail.name, - "fileInfo.fileType": 'epub', + "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, }); } } - console.log(this.data.fileInfo, 456) this.setData({ selectedIds: this.data.bookDetail.defaultSaleMethodId, - bookBuy: this.data.bookDetail.purchasedSaleMethodIdList.indexOf(this.data.bookDetail.defaultSaleMethodId) > -1 + bookBuy: this.data.bookDetail.purchasedSaleMethodIdList.indexOf( + this.data.bookDetail.defaultSaleMethodId + ) > -1, }); - let times = new Date(this.data.bookDetail.defaultSaleMethod.endDate).getTime() - let startTime = new Date(this.data.bookDetail.defaultSaleMethod.beginDate).getTime() + let times = new Date( + this.data.bookDetail.defaultSaleMethod.endDate + ).getTime(); + let startTime = new Date( + this.data.bookDetail.defaultSaleMethod.beginDate + ).getTime(); if (times < new Date().getTime() || new Date().getTime() < startTime) { this.setData({ - expire: true + expire: true, }); } else { this.setData({ - expire: false + expire: false, }); } } - }) + }); }, // 鑾峰彇鍥句功鍒嗙被 - async getBookClass(iconType, classType) { - let name = ''; + async getBookClass(list) { + let name = ""; const query = { - refCodes: ['bookClassification'], + 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) { - name = citem.name; + 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 + }) + } + } + }); } - }); - } - }); + + } + }); + } + }); - return name; }, // 鏀惰棌 setCollect() { - if (this.data.bookDetail.isFavourite) { - app.MG.store - .delProductLink({ - productIds: [this.data.bookDetail.id], - linkType: 'FavoriteBookCity', - }) - .then(() => { - this.setData({ - 'bookDetail.isFavourite': false + const token = wx.getStorageSync(app.config.tokenKey); + if (!token) { + // 妫�鏌ョ櫥褰曠姸鎬� + loginInfo(app, (data) => { + // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋� + if (data) { + // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue + this.getBookInfo(this.data.bookId); + } else { + // 鍑虹幇閿欒锛岃繑鍥瀎alse + } + }); + } else { + if (this.data.bookDetail.isFavourite) { + app.MG.store + .delProductLink({ + productIds: [this.data.bookDetail.id], + linkType: "FavoriteBookCity", }) - Message.success({ - context: this, - offset: [20, 32], - duration: 5000, - content: '杩欐槸涓�鏉℃垚鍔熺殑鎻愮ず娑堟伅', + .then(() => { + this.setData({ + "bookDetail.isFavourite": false, + }); + }); + } else { + const params = { + productIds: [this.data.bookDetail.id], + linkType: "FavoriteBookCity", + }; + app.MG.store.addProductLink(params).then((res) => { + this.setData({ + "bookDetail.isFavourite": true, }); }); - } else { - const params = { - productIds: [this.data.bookDetail.id], - linkType: 'FavoriteBookCity', - }; - app.MG.store.addProductLink(params).then((res) => { - this.setData({ - 'bookDetail.isFavourite': true - }) - Message.success({ - context: this, - offset: ['20rpx', '32rpx'], - duration: 2000, - content: '鏀惰棌鎴愬姛', - }); - }); + } } }, // 鎴戣寤鸿 suggestBtn() { - const child = this.selectComponent('#suggest-component') - child.showDialog() + // 妫�鏌ョ櫥褰曠姸鎬� + const token = wx.getStorageSync(app.config.tokenKey); + const child = this.selectComponent("#suggest-component"); + if (token) + // child.showDialog(); + this.setData({ + showIndex: '1' + }) }, // 璺宠浆缃戝簵 goShop(e) { - const { link } = e.currentTarget.dataset; + const { + link + } = e.currentTarget.dataset; wx.navigateTo({ - url: `/packageBookService/pages/bookServices/webpage/index?url=${link}`, - }) + url: `/packageBookService/pages/bookServices/linkPage/index?path=${link}`, + }); }, + // tag鍒囨崲 onTabsChange(e) { + const token = wx.getStorageSync(app.config.tokenKey); this.setData({ tabValue: e.detail.value, - noResources: false - }) - if (e.detail.label == '鏁欏璧勬簮' || e.detail.label == '浜戝涔�' || e.detail.label == '浜戞祴璇�') { - const checkData = this.data.cmsDatas.find(item => item.refCode == e.detail.value) + noResources: false, + }); + if ( + e.detail.label == "鏁欏璧勬簮" || + e.detail.label == "浜戝涔�" || + e.detail.label == "浜戞祴璇�" + ) { + const checkData = this.data.cmsDatas.find( + (item) => item.refCode == this.data.tabValue + ); + if (!this.data.resourceClassList.length) this.getResourceClass() if (checkData) { - if (e.detail.value == 'jsek_cloudLearning') { + if (e.detail.value == "jsek_cloudLearning") { this.setData({ - 'buyResourceData.productLinkPath': checkData.productLinkPath, - 'buyResourceData.refCode': checkData.refCode - }) + "buyResourceData.productLinkPath": checkData.productLinkPath, + "buyResourceData.refCode": checkData.refCode, + }); } - 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) + // 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) + // ) { + // if (e.detail.value == "jsek_teachingResources") { + // wx.setStorageSync('teachResourcesPath', checkData.productLinkPath) + // } + // this.getResourceData(checkData); + // } + if ((e.detail.value == "jsek_teachingResources" && !this.data.teach.length) || (e.detail.value == "jsek_cloudLearning" && !this.data.learn.length)) { + wx.setStorageSync('teachResourcesPath', checkData.productLinkPath) + this.getResourceDataList(checkData) + } else if (e.detail.value == "questionBank" && !this.data.test.length) { + this.getResourceData(checkData); } + if (e.detail.value == "questionBank" && token) this.getMockData(); } else { this.setData({ - noResources: true - }) + noResources: true, + }); } - } else if (e.detail.label == '浜戠瑪璁�') { - const token = wx.getStorageSync('jsek-token') - const child = this.selectComponent('#note') - child.handleSubmitTitle() + } else if (e.detail.label == "浜戠瑪璁�") { + const token = wx.getStorageSync(app.config.tokenKey); + const child = this.selectComponent("#note"); + child.handleSubmitTitle(); if (token) { - child.changeLoading() - child.getNoteList() + child.changeLoading(); + child.getNoteList(); + } else { + child.changeNoList(); } - - } else if (e.detail.label == '鐢靛瓙涔�') { - const child = this.selectComponent('#eBook') + } else if (e.detail.label == "鐢靛瓙涔�") { + const child = this.selectComponent("#eBook"); if (child) { - child.getProgress() + child.getProgress(); } - + } else if (e.detail.label == "鐩稿叧鍥句功") { + this.getAboutBook(this.data.relatedBookPath); } }, // 鑾峰彇璧勬簮鎵�灞炲垎绫� getResourceClass() { let query = { - refCodes: ['resourcesClassification'] - } + refCodes: ["resourcesClassification"], + }; app.MG.store.getProductTypeField(query).then((res) => { this.setData({ - resourceClassList: JSON.parse(res[0].config).option - }) - }) + resourceClassList: JSON.parse(res[0].config).option, + }); + }); }, - // 鑾峰彇鏁欏璧勬簮 浜戝涔� 浜戞祴璇� - getResourceData(type) { + + // 鑾峰彇鎵�鏈夊瓙椤规暟閲� + 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 + }, + + // 鎵佸钩鍖栨暟鎹浆鎹ree + getTreeList(rootList, newArr, path) { + for (const item of rootList) { + if (path == item.productLinkPath.replace('\\' + item.id, '')) { + if (item.sysType == 'CmsItem') { + if (item.selectType == 'webpage') { + item.disabled = true + } else { + if (item.isDownload != 1) { + item.disabled = true + } + } + if (item.file && item.fileMap && item.fileMap[item.file]) { + if (item.fileMap[item.file].protectType == 'Private') item.disabled = true + } + } + // newArr.push(item) + // 鍦ㄦ彃鍏ヨ繃绋嬩腑瀵规暟鎹繘琛屾帓搴� + newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item) + // 鎻掕繘鏁扮粍鍚� 浠庡師鏁版嵁涓垹闄� + rootList = rootList.filter(nitem => nitem.id != item.id) + } + } + //缁欐暟缁勯噷闈㈠啀娣诲姞涓�涓猚hildren鐨勭┖鏁扮粍 + for (const i of newArr) { + i.children = [] + this.getTreeList(rootList, i.children, i.productLinkPath) + if (i.children.length == 0) { + delete i.children + } + } + return newArr + }, + + // 鍘婚櫎鏍戠粨鏋勫浣欓」 + ensureTreeConsistency(tree) { + for (let index = 0; index < tree.length; index++) { + const item = tree[index]; + if (item.children && item.children.length) { + const isFloder = item.children.findIndex(citem => citem.sysType == 'CmsFolder') + const isItem = item.children.findIndex(citem => citem.sysType == 'CmsItem') + if (isFloder > -1 && isItem > -1) { + item.children = item.children.filter(ditem => ditem.sysType == 'CmsItem') + } + this.ensureTreeConsistency(item.children) + } + } + return tree + }, + + // 鎺掑簭鏁扮粍 鎸夌収productLinkPath + insertAndSortObjectsByProductLinkPath(array, newObj) { + // 鏌ユ壘鏂板璞″簲璇ユ彃鍏ョ殑浣嶇疆 + let insertIndex = array.findIndex(obj => newObj.id < obj.id); + // 濡傛灉娌℃湁鎵惧埌鍚堥�傜殑浣嶇疆锛屽垯鏀惧湪鏁扮粍鏈熬 + if (insertIndex === -1) { + insertIndex = array.length; + } + // 鎻掑叆鏂板璞″埌鏁扮粍 + array.splice(insertIndex, 0, newObj); + // 瀵规暟缁勮繘琛屾帓搴� + array.sort((a, b) => { + if (a.id < b.id) return -1; + if (a.id > b.id) return 1; + return 0; + }); + // 杩斿洖鏇存柊鍚庣殑鏁扮粍 + return array; + }, + // 閫掑綊鏍戠粨鏋勶紝濡傛灉鐖剁骇鏈夐攢鍞柟寮�(鏈夋晥鏈�)锛屽幓鎺夋墍鏈夊瓙闆嗙殑閿�鍞柟寮� + 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 + }, + // 鏁欏璧勬簮 浜戝涔� 鑾峰彇 + getResourceDataList(type) { this.setData({ loading: true, - noResources: false - }) + noResources: false, + }); let query = { path: '*', queryType: '*', + // storeInfo: this.data.options.storeInfo, productId: this.data.bookDetail.id, cmsPath: type.productLinkPath, + cmsType: '*', itemFields: { SysType: 'CmsFolder', // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁� selectType: [], + learnSelectType: [], freeFile: [], file: [], + protectedFile: [], resourcesClassification: [], isDownload: [], jsek_resourceBrief: [], @@ -566,409 +972,502 @@ size: 999 }, } - 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.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) { - res.datas.cmsDatas[0].datas.forEach(item => { - item.checked = false - }) - const list = await this.getAllResource(res.datas.cmsDatas[0].datas) - let result = [] - if (type.refCode == 'jsek_teachingResources') { - this.findChildIds(list, result) - this.setData({ - teach: list, - loading: false, - openTeachids: result - }) - console.log('鏁欏璧勬簮', this.data.teach); - } else if (type.refCode == 'jsek_cloudLearning') { - // res.datas.cmsDatas[0].datas.forEach(item => { - // item.checked = false - // }) - // const list = await this.getAllResource(res.datas.cmsDatas[0].datas) - this.findChildIds(list, result) - this.setData({ - learn: list, - loading: false, - openLearnids: result - }) - } - } 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) + app.MG.store.getProductDetailNoChildren(query).then((res) => { + console.log('鏈鐞嗚祫婧�', res.datas.cmsDatas[0].datas); + if (!res.datas.cmsDatas[0].datas.length) { + return this.setData({ + noResources: true, + loading: false, + }); } - } - return data + let list = [] + // 鍒ゆ柇浜戝涔犳湁鏃犻攢鍞柟寮忓拰鏈夋晥鏈� + const cloundSaleMethod = + type.saleMethod && type.saleMethod.length ? + type.saleMethod.find((citem) => citem.SaleType == 'Normal') : + null + let flags = + type.refCode == 'jsek_cloudLearning' && + cloundSaleMethod && + new Date().getTime() <= new Date(cloundSaleMethod.EndDate).getTime() && + new Date().getTime() >= new Date(cloundSaleMethod.BeginDate).getTime() + res.datas.cmsDatas[0].datas.forEach((item) => { + // 浜戝涔犱笂鏈夐攢鍞柟寮忥紝鍘绘帀浜戝涔犱笅鎵�鏈夐攢鍞柟寮� + if (flags) item.saleMethod = [] + item.checked = false; + if (item.sysType == 'CmsItem') { + // 鏁欏璧勬簮 绫诲瀷鍚嶇О璧嬪�� + this.data.resourceClassList.forEach((type) => { + if (type.value == item.resourcesClassification) + item.resourceClass = type.name; + }); + // if (this.data.tabValue == "jsek_teachingResources") {} else if (this.data.tabValue == "jsek_cloudLearning") { + // item.isbuy = this.isShowNeedBuy(item); + // item.isShopCar = this.isShoppingCart(item); + // } + } + }); + // 鍒ゆ柇澶勭悊璧勬簮 + if (res.datas.cmsDatas[0].datas.some((item) => item.sysType == 'CmsFolder')) { + if (!res.datas.cmsDatas[0].datas.some((item) => item.sysType == 'CmsItem')) { + // 1.鍙湁鐩綍锛屾病鏈夎祫婧� + list = res.datas.cmsDatas[0].datas + } else { + this.getTreeList(res.datas.cmsDatas[0].datas, list, query.cmsPath) + list = this.ensureTreeConsistency(list) + list = this.changeResourceChildren(list) + } + } else { + // 3.鍙湁璧勬簮锛屾病鏈夌洰褰� + list = res.datas.cmsDatas[0].datas + } + let result = []; + if (type.refCode == "jsek_teachingResources") { + this.findChildIds(list, result); + this.setData({ + openTeachids: result, + loading: false, + teach: list, + }); + } else if (type.refCode == "jsek_cloudLearning") { + // 浜戝涔犱笂鏃犻攢鍞柟寮忥紝璧扮洰褰� 璧勬簮 閿�鍞柟寮忓幓闄ゆ柟娉� + if (!flags) list = this.clearTreeSealmethod(false, list) + // 鍒ゆ柇棰嗗彇鏌ョ湅鏄惁鏄剧ず(浜戝涔狅紝鎴栬祫婧愮洰褰曪紝鏈夊敭浠蜂负0) + let isshowDrawBtn = res.datas.cmsDatas[0].datas.some( + (item) => + item.saleMethod.length && + item.saleMethod.find((citem) => citem.SaleType == 'Normal').Price == 0 && + new Date(item.saleMethod.find((citem) => citem.SaleType == 'Normal').EndDate).getTime() >= new Date().getTime() && + new Date(item.saleMethod.find((citem) => citem.SaleType == 'Normal').BeginDate).getTime() <= new Date().getTime() + ) || (flags && cloundSaleMethod.Price == 0) + // 鍒ゆ柇浜戝涔犲叏閮ㄨ喘涔版寜閽槸鍚︽樉绀� + let isShowBuyCloundMenu = flags && cloundSaleMethod.Price >= 0 + // 鍒ゆ柇璐墿杞︽寜閽拰閿佹寜閽槸鍚︽樉绀� + this.handleTreeData(list).forEach(item => { + item.isbuy = this.resourceIsBuy(item); + item.isShopCar = this.isShoppingCart(item); + }) + this.findChildIds(list, result); + this.setData({ + isshowDrawBtn, + isShowBuyCloundMenu, + isCloundHaveSaleMethod: flags, + learn: list, + loading: false, + openLearnids: result, + learnPath: type.productLinkPath + }); + } + }) }, - // 鑾峰彇璧勬簮鎺ュ彛 - async getFolderItem(path) { + // 鑾峰彇 浜戞祴璇� + getResourceData(type) { + var that = this + that.setData({ + loading: true, + noResources: false, + }); let query = { - path: '*', - queryType: '*', - productId: this.data.bookDetail.id, - cmsPath: path, + path: "*", + queryType: "*", + storeInfo: that.data.options.storeInfo, + productId: that.data.bookDetail.id, + cmsPath: type.productLinkPath, + cmsType: '*', itemFields: { - SysType: 'CmsFolder', + SysType: "CmsFolder", // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁� selectType: [], freeFile: [], file: [], - protectedFile: [], resourcesClassification: [], isDownload: [], jsek_resourceBrief: [], jsek_link: [], - accessType: [], - learnSelectType: [] + jsek_questionBank: [], }, pading: { start: 0, - size: 999 + 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 + }; + app.MG.store + .getProductDetail(query) + .then(async (res) => { + // 浜戞祴璇曪紝閫掑綊璇锋眰閲屽眰鏁版嵁 + if (type.refCode == "questionBank") { + let data = [] + let result = []; + const isTSFW = res.datas.cmsDatas[0].datas.filter( + (item) => + item.type == 'questionBankFolder' && + (item.name == '濉┖棰�' || + item.name == '鍒ゆ柇棰�' || + item.name == '鍗曢�夐' || + item.name == '澶氶�夐' || + item.name == '绠�绛旈') + ) + if (that.data.options.storeInfo == 'jsek_jslx') { + data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder'); + if (data.length > 0) { + that.setData({ + test: data, + loading: false, + openTeachids: result, + }); + } else { + that.setData({ + noResources: true, + loading: false, + }); + } + } else { + if (isTSFW.length > 0) { + data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0) + that.setData({ + jslx: false, + }); + } else { + data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder') + that.setData({ + jslx: true, + }); + } + if (data.length > 0) { + let list = [] + that.getTreeList(data, list, query.cmsPath) + list = that.ensureTreeConsistency(list) + that.findChildIds(list[0].children, result); + that.setData({ + test: list.length == 1 && list[0].name == '棰樺簱' ? list[0].children : list, + loading: false, + openTeachids: result, + }); + } else { + that.setData({ + noResources: true, + loading: false, + }); + } } } - 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.checked = false - item.isbuy = this.resourceIsBuy(item) - item.isShopCar = this.isShoppingCart(item) - } - }) - return data.datas.cmsDatas[0].datas + }) + .catch((e) => { + console.log(e); + }); }, + // 鑾峰彇灞曞紑椤� 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 } - } }, // 鍥句功娣诲姞璐墿杞� async addBookShopcCar() { - if (!this.data.expire) { - - const token = wx.getStorageSync('jsek-token') - if (!token) { - return wx.getUserProfile({ - desc: '鐢ㄦ埛鐧诲綍', - success: (res) => { - console.log(res); - } - }) - } - - const shoppingCartGetId = [] - + const shoppingCartGetId = []; let query = { start: 0, size: 9999, filterList: [], - searchList: [] - } - const res = await app.MG.store.getShoppingCartProductList(query) + 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.selectedIds, '閿�鍞柟寮廼d'); - const determine = shoppingCartGetId.some((item) => item == this.data.selectedIds) - console.log(determine); + shoppingCartGetId.push(item.saleMethod.id); + }); + const determine = shoppingCartGetId.some( + (item) => item == this.data.selectedIds + ); if (!determine) { let query = { - requests: [ - { - saleMethodId: this.data.selectedIds, - storeEventId: null, - agentCode: '鐢靛瓙涔�' - } - ] - } - const addRes = app.MG.store.addShoppingCart(query) - this.showSuccessToast() - + requests: [{ + saleMethodId: this.data.selectedIds, + storeEventId: null, + agentCode: "鐢靛瓙涔�", + }, ], + }; + const addRes = app.MG.store.addShoppingCart(query); + this.showSuccessToast(); } else { Toast({ context: this, - selector: '#t-toast', - message: '宸叉坊鍔�', - theme: 'success', - direction: 'column', + selector: "#t-toast", + message: "璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞", + theme: "warning", + direction: "column", }); } } else { wx.showToast({ title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", - icon: 'none', + icon: "none", duration: 1000, - }) + }); } - - }, showSuccessToast() { Toast({ context: this, - selector: '#t-toast', - message: '娣诲姞鎴愬姛', - theme: 'success', - direction: 'column', + selector: "#t-toast", + message: "娣诲姞鎴愬姛", + theme: "success", + direction: "column", }); }, - - async buyBook() { if (!this.data.expire) { - let bookOrdersId = '' + let bookOrdersId = ""; let query = { - remarks: '鐢靛瓙涔�', - requests: [ - { - saleMethodId: this.data.bookItemDetail.defaultSaleMethodId ? this.data.bookItemDetail.defaultSaleMethodId : this.data.bookDetail.defaultSaleMethodId, - count: 1 - } - ] - } + remarks: "鐢靛瓙涔�", + requests: [{ + saleMethodId: this.data.bookItemDetail.defaultSaleMethodId ? + this.data.bookItemDetail.defaultSaleMethodId : this.data.bookDetail.defaultSaleMethodId, + count: 1, + }, ], + }; // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉 - const res = await app.MG.store.initOrder(query) + const res = await app.MG.store.initOrder(query); // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value - bookOrdersId = res.orderNumber - console.log(bookOrdersId); + bookOrdersId = res.orderNumber; // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪 if (bookOrdersId) { - const url = '/pages/cart/paymentPage/index?orderNumber=' + bookOrdersId - wx.navigateTo({ - url - }) - } else { - console.log(222); - } + if (this.data.bookDetail.price == "0.00") { + app.MG.store + .confirmOrder({ + orderNum: bookOrdersId, + }) + .then((res) => { + if (res) { + wx.showToast({ + title: "棰嗗彇鎴愬姛", + icon: "none", + duration: 1000, + }); + this.getBookInfo(this.data.bookDetail.id); + } + }); + } else { + const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id; + wx.navigateTo({ + url, + }); + } + } else {} } else { wx.showToast({ title: "鍟嗗搧涓嶅湪鏈夋晥鏈�", - icon: 'none', + icon: "none", duration: 1000, - }) + }); } }, // 鑾峰彇鏁欏璧勬簮涓嬭浇鏄惁鐢宠閫氳繃 - getApplyInfo(id) { + async getApplyInfo(id) { // 鑾峰彇褰撳墠鏃堕棿 - const currentDate = new Date() + const currentDate = new Date(); let query = { sort: { - type: 'Desc', - field: 'CreateDate' + type: "Desc", + field: "CreateDate", }, start: 0, size: 99999, appRefCode: app.config.appRefCode, - topicIdOrRefCode: 'productDownLoad' - } - app.MG.ugc.getTopicMessageList(query).then((res) => { + topicIdOrRefCode: "productDownLoad", + }; + await app.MG.ugc.getTopicMessageList(query).then((res) => { const applyResource = res.datas.find((item) => { - let content = [] + let content = []; try { - content = JSON.parse(item.content) + content = JSON.parse(item.content); } catch (error) { - content = [] + content = []; } - if (Array.isArray(content)) return content.find((citem) => citem.id == id) - return false - }) + if (Array.isArray(content)) + return content.find((citem) => citem.id == id); + return false; + }); // 鏈夌敵璇疯褰� if (applyResource) { - if (applyResource.state == 'Reject') { + 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 + 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 == '姘镐箙') { + if (endDate == "姘镐箙") { this.setData({ - applyState: 'Normal', - deadline: '姘镐箙', - }) - console.log('鏈夋晥鏃ユ湡', this.data.deadline); + applyState: "Normal", + deadline: "姘镐箙", + }); } else { - - let endTime = new Date(endDate + ' 23:59:59').getTime() + let endTime = new Date(endDate + " 23:59:59").getTime(); this.setData({ - deadline: endDate + ' 23:59:59' - }) + deadline: endDate + " 23:59:59", + }); if (currentDate.getTime() < endTime) { // 鏈秴鏃� this.setData({ - applyState: 'Normal' - }) + applyState: "Normal", + }); } else { this.setData({ - applyState: 'none' - }) + applyState: "none", + }); } } } else { this.setData({ - applyState: applyResource.state - }) + applyState: applyResource.state, + }); } } else { this.setData({ - applyState: 'none' - }) + applyState: "none", + }); } - }) + }); this.setData({ - applyResourceLoading: false - }) + applyResourceState: false, + }); + wx.hideLoading(); }, // 鐢宠鏁欏璧勬簮 applyResource() { - this.setData({ - applyResourceLoading: true - }) - // 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) { - wx.showToast({ - title: '鐢宠宸叉彁浜わ紝璇峰緟瀹℃牳閫氳繃鍚庝笅杞�', - }) - } - this.getApplyInfo(this.data.bookDetail.id) - }) - // } else { - // ElMessageBox.confirm('璇峰厛杩涜鏁欏笀璁よ瘉锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', { - // confirmButtonText: '鍘昏璇�', - // cancelButtonText: '鍙栨秷', - // type: 'warning' - // }) - // .then(() => { - // isShow.value = true - // }) - // .catch(() => { }) - // } - // } else { - // // logIn() + // if (this.data.applyResourceState) { + // return wx.showToast({ + // icon: "error", + // title: "璇峰嬁閲嶅鐐瑰嚮", + // }); // } + this.setData({ + applyResourceState: true, + }); + let role = JSON.parse(wx.getStorageSync(app.config.userInfoKey)).role; + if (role) { + if (role == "Teacher") { + wx.showLoading({ + title: "鍔犺浇涓�", + }); + // 鐢宠鏁欏璧勬簮 + 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(async (res) => { + if (res) { + wx.showToast({ + title: "鐢宠宸叉彁浜�", + duration: 2000, + }); + } + await this.getApplyInfo(this.data.bookDetail.id); + }); + } else { + wx.showModal({ + title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", + content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", + confirmColor: "#ff6c00", + cancelColor: "#949494", + complete: (res) => { + if (res.cancel) {} + if (res.confirm) { + wx.navigateTo({ + url: "/packageDomain/pages/teacherCertification/index", + }); + } + }, + }); + } + } else { + wx.showModal({ + title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", + content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", + confirmColor: "#ff6c00", + cancelColor: "#949494", + complete: (res) => { + if (res.cancel) {} + if (res.confirm) { + wx.navigateTo({ + url: "/packageDomain/pages/teacherCertification/index", + }); + } + }, + }); + } }, // 鏁欏璧勬簮涓嬭浇鍓嶅線PC鎻愮ずDiialog closeTeachDownload() { this.setData({ - isShowTeachDownload: false - }) + isShowTeachDownload: false, + }); }, // 涓嬭浇鍔熻兘 downloadTeach(e) { - this.setData({ - isShowTeachDownload: true - }) - console.log('zhuan', this.data.isShowTeachDownload); + let role = JSON.parse(wx.getStorageSync(app.config.userInfoKey)).role; + if (role && role == "Teacher") { + this.setData({ + isShowTeachDownload: true, + }); + } else { + wx.showModal({ + title: "灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�", + content: "璇峰厛杩涜鏁欏笀璁よ瘉锛�", + confirmColor: "#ff6c00", + cancelColor: "#949494", + complete: (res) => { + if (res.cancel) {} + if (res.confirm) { + wx.navigateTo({ + url: "/packageDomain/pages/teacherCertification/index", + }); + } + }, + }); + } // const data = e.detail.value // // const data // // let role = userStore.userInfo ? userStore.userInfo.role : null @@ -1063,33 +1562,66 @@ tempFilePath: res.tempFilePath, success: function (res) { wx.showToast({ - title: '涓嬭浇鎴愬姛', - icon: 'success' - }) + title: "涓嬭浇鎴愬姛", + icon: "success", + }); }, fail: function (res) { wx.showToast({ - title: '涓嬭浇澶辫触', - icon: 'none' - }) - } - }) + title: "涓嬭浇澶辫触", + icon: "none", + }); + }, + }); }, fail: function (res) { wx.showToast({ - title: '涓嬭浇澶辫触', - icon: 'none' - }) - } - }) + 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 + 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 + ); + // 宸茬粡璐拱 + 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 + 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; } }, // 鑾峰彇宸茶喘涔板晢鍝� @@ -1098,149 +1630,216 @@ start: 0, size: 999, filterList: [], - searchList: [] - } + searchList: [], + }; app.MG.store.getShoppingCartProductList(query).then((res) => { - const list = [] + const list = []; res.datas.forEach((item) => { - list.push(item.saleMethod.id) - }) + list.push(item.saleMethod.id); + }); this.setData({ shoppingList: res.datas, - shoppingCartGetId: list - }) - }) + shoppingCartGetId: list, + }); + }); }, // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀� 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 } 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 + } + } } } else { - return false + return false; } + }, + + updateShoppingCartHidden() { + const isSHow = this.data.shoppingCartGetId.some( + (item) => item == data.saleMethod[0].Id + ); + return !isSHow; + }, + //鍒锋柊璐墿杞﹀浘鏍� + updateCloudLearning() { + this.getBookInfo() + this.getShoppingCartProductGet() + const checkData = this.data.cmsDatas.find( + (item) => item.refCode == "jsek_cloudLearning" + ); + this.getResourceDataList(checkData); }, // 閬嶅巻鏍戠粨鏋勮浆鎹负鏁扮粍鏂规硶 handleTreeData(array) { - const flattenedArray = [] + const flattenedArray = []; array.forEach((node) => { // 灏嗗綋鍓嶈妭鐐规坊鍔犲埌灞曞紑鐨勬暟缁勪腑 - flattenedArray.push(node) + flattenedArray.push(node); // 閫掑綊澶勭悊瀛愯妭鐐� if (node.children && node.children.length > 0) { - const childrenArray = this.handleTreeData(node.children) - flattenedArray.push(...childrenArray) + const childrenArray = this.handleTreeData(node.children); + flattenedArray.push(...childrenArray); } - }) - return flattenedArray.filter((item) => item.sysType == 'CmsItem') + }); + return flattenedArray; }, // 浜戝涔犱竴閿鍙� async getFreeResource() { - const child = this.selectComponent('#learn-resource') - const token = wx.getStorageSync('jsek-token') + const child = this.selectComponent("#learn-resource"); + const token = wx.getStorageSync(app.config.tokenKey); if (!token) { - return wx.getUserProfile({ - desc: '鐢ㄦ埛鐧诲綍', - success: (res) => { - console.log(res); + loginInfo(app, (data) => { + // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋� + if (data) { + // 鐧诲綍鎴愬姛锛岃嚜鍔ㄨ褰晅oken鍜岀敤鎴蜂俊鎭紝骞惰繑鍥瀟rue + } else { + // 鍑虹幇閿欒锛岃繑鍥瀎alse } - }) + }); } - 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, + // 棰嗗彇鏌ョ湅 锛屽厛鐪嬩簯瀛︿範涓婄殑 鍐嶇湅璧勬簮涓婄殑 + const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning') + const cloundMenuSaleMethod = + cloundMenu.saleMethod && cloundMenu.saleMethod.length ? + cloundMenu.saleMethod.find((ditem) => ditem.SaleType == 'Normal') : + undefined + let query = {} + if (this.data.isCloundHaveSaleMethod && !cloundMenuSaleMethod.Price) { + // 浜戝涔犱笂鏈夐攢鍞柟寮忥紝涓斾负0鍏冿紝鐩存帴棰嗗彇浜戝涔� + query = { + remarks: '浜戝涔�', + requests: [{ + saleMethodId: cloundMenuSaleMethod.Id, count: 1 - }) + }] } - }) - - let query = { - remarks: '浜戝涔�', - requests, + } else { + // 棰嗗彇璧勬簮 + let arr = this.handleTreeData(this.data.learn).filter(item => this.resourceIsBuy(item)) + let freeIds = arr.filter((item) => { + return item.saleMethod.find((citem) => citem.SaleType == 'Normal').Price == 0 + }) + if (!freeIds.length) + return wx.showToast({ + icon: "error", + title: "鏆傛棤鍏嶈垂璧勬簮", + }); + let requests = []; + freeIds.forEach((item, index) => { + if (this.resourceIsBuy(item)) { + requests.push({ + saleMethodId: item.saleMethod[0].Id, + count: 1, + }); + } + }); + query = { + remarks: "浜戝涔�", + requests, + }; } + child.changeReceive(true); try { - const initOrderRes = await app.MG.store.initOrder(query) + const initOrderRes = await app.MG.store.initOrder(query); let parameter = { - orderNum: initOrderRes.orderNumber - } + orderNum: initOrderRes.orderNumber, + }; // 纭璁㈠崟 - const confirmOrderRes = await app.MG.store.confirmOrder(parameter) + const confirmOrderRes = await app.MG.store.confirmOrder(parameter); if (confirmOrderRes.orderNumber) { - child.changeReceive(false) + child.changeReceive(false); wx.showToast({ - title: '棰嗗彇鎴愬姛', + title: "棰嗗彇鎴愬姛", + }); + this.getBookInfo(this.data.bookId); + this.getResourceDataList({ + refCode: 'jsek_cloudLearning', + productLinkPath: this.data.learnPath }) - this.getBookInfo(this.data.bookId) + this.setData({ + successOrderNumber: confirmOrderRes.orderNumber + }) } } catch (error) { - console.log(error) + console.log(error); } }, // 浜戝涔犱竴閿喘涔� async allAddShoppiingCar() { - const child = this.selectComponent('#learn-resource') - const token = wx.getStorageSync('jsek-token') + const child = this.selectComponent("#learn-resource"); + const token = wx.getStorageSync("jsek-token"); if (!token) { return wx.getUserProfile({ - desc: '鐢ㄦ埛鐧诲綍', + 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 = [] + let shopList = this.handleTreeData(this.data.learn).filter(item => item.cmsType == 'cmsItem') + shopList = shopList.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: '浜戝涔�', + remarks: "浜戝涔�", requests, - } - const initOrderRes = await app.MG.store.initOrder(query) - child.changeBuy(false) + }; + 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: '璇烽噸璇�', - }) + title: "璇烽噸璇�", + }); } + }, + // 浜戝涔犲瓧娈佃喘涔� + async buyCloundMenu() { + const cloundData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning') + }, // 鍙樹负鎵�鏈塩heck true findAndUpdateItemsByIds(tree, ids) { @@ -1266,146 +1865,225 @@ // 缁勫嵎鏍煎紡鍖栨棩鏈熸樉绀� DateFormat(date, fmt) { if (date && fmt) { - let _date = new Date(date) + 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() //姣 - } + "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)) + fmt = fmt.replace( + RegExp.$1, + (_date.getFullYear() + "").substr(4 - RegExp.$1.length) + ); } for (var k in o) { - if (new RegExp('(' + k + ')').test(fmt)) { + if (new RegExp("(" + k + ")").test(fmt)) { fmt = fmt.replace( RegExp.$1, - RegExp.$1.length == 1 - ? (o)[k] - : ('00' + (o)[k]).substr(('' + (o)[k]).length) - ) + RegExp.$1.length == 1 ? + o[k] : + ("00" + o[k]).substr(("" + o[k]).length) + ); } } - return fmt + return fmt; } else { - return '' + return ""; } }, // 鑾峰彇缁勫嵎绛旈鏁版嵁 getMockData() { + // const child = this.selectComponent("#test-resource"); + // if (child) child.changeTestLoaidng(true); this.setData({ - 'mockData.useCount': 0, - 'mockData.mockList': [] - }) + "mockData.useCount": 0, + "mockData.mockList": [], + }); app.MG.identity .getUserKey({ - domain: 'mockData', - keys: [this.data.bookId] + 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') - }) + const mock = JSON.parse(res[0].value); + mock.forEach((item) => { + item.createDate = this.DateFormat(item.createDate, "yyyy-MM-dd"); + }); this.setData({ - 'mockData.mockList': mock - }) + "mockData.mockList": mock, + }); // 缁勫嵎宸蹭娇鐢ㄦ鏁� res.forEach((item) => { // 宸茬粡鏈夌瓟棰樺垎鏁扮瓑鏁版嵁锛岃瘉鏄庣粍鍗峰凡缁忎娇鐢ㄥ畬姣� if (item.resultData) { this.setData({ - 'mockData.useCount': this.data.mockData.useCount + 1 - }) + "mockData.useCount": this.data.mockData.useCount + 1, + }); } - }) + }); } - }) + }); }, // 璐拱缁勫嵎 async buyMock() { - let res - if (!this.data.mockData.id) return wx.showToast({ - icon: "error", - title: '鏆傛棤缁勫嵎', - mask: true - }) + let res; + if (!this.data.mockData.id) + return wx.showToast({ + icon: "error", + title: "鏆傛棤缁勫嵎", + mask: true, + }); // 鏋勫缓璁㈠崟鏌ヨ瀵硅薄 try { let query = { - remarks: '缁勫嵎', - requests: [ - { - saleMethodId: this.data.mockData.id, - count: 1 - } - ] - } + remarks: "缁勫嵎", + requests: [{ + saleMethodId: this.data.mockData.id, + count: 1, + }, ], + }; if (this.data.flag) { this.setData({ - flag: false - }) - res = await app.MG.store.initOrder(query) + flag: false, + }); + res = await app.MG.store.initOrder(query); } if (res.orderNumber && this.data.mockData.price) { wx.navigateTo({ url: `/pages/cart/paymentPage/index?orderNumber=${res.orderNumber}`, - }) + }); } else { // 0鍏冪洿鎺ラ鍙� // 纭璁㈠崟 - const confirmOrderRes = await app.MG.store.confirmOrder({ orderNum: res.orderNumber }) + const confirmOrderRes = await app.MG.store.confirmOrder({ + orderNum: res.orderNumber, + }); if (confirmOrderRes) { wx.showToast({ icon: "success", - title: '棰嗗彇鎴愬姛', - }) + title: "棰嗗彇鎴愬姛", + }); this.setData({ - flag: true - }) - await this.recordBuyMock() // 璁板綍璐拱鏃堕棿 + flag: true, + }); + await this.recordBuyMock(); // 璁板綍璐拱鏃堕棿 } } } catch (error) { - console.log(error) + console.log(error); } }, // 璁板綍璐拱缁勫嵎鏃堕棿 recordBuyMock() { - const num = this.data.mockData.mockList.length - const id = tool.uuid(8) - const createDate = new Date().getTime() - const mockList = this.data.mockData.mockList - mockList.push({ id, createDate, name: `绗�${num + 1}濂楄瘯鍗穈, state: '0' }) + const num = this.data.mockData.mockList.length; + const id = tool.uuid(8); + const createDate = this.DateFormat(new Date().getTime(), "yyyy-MM-dd"); + const mockList = this.data.mockData.mockList; + mockList.push({ + id, + createDate, + name: `绗�${num + 1}濂楄瘯鍗穈, + state: "0", + }); this.setData({ - 'mockData.mockList': mockList - }) + "mockData.mockList": mockList, + }); // 璁板綍璐拱鏃堕棿锛屽苟璁剧姸鎬乻tate涓�1锛岃〃绀哄垰璐拱瀹屾垚缁勫嵎 app.MG.identity.setUserKey({ - setKeyRequests: [ - { - domain: 'mockData', - key: this.data.bookDetail.id + '', - value: JSON.stringify(this.data.mockData.mockList) + setKeyRequests: [{ + domain: "mockData", + key: this.data.bookDetail.id + "", + value: JSON.stringify(this.data.mockData.mockList), + }, ], + }); + }, + // 鑾峰彇鐩稿叧鍥句功 + getAboutBook(path) { + this.setData({ + relatedBookLoading: true, + noRelatedBookData: false, + }); + let query = { + path, + queryType: "*", + coverSize: { + height: 243, + }, + paging: { + start: 0, + size: 99, + }, + fields: { + author: [], + publicationDate: [], + }, + }; + app.MG.store.getProductList(query).then((res) => { + const Arr = res.datas.filter( + (item) => item.id != this.data.bookDetail.id + ); + let bookArr = []; + if (Arr.length > 9) { + for (var i = 0; i < 9; i++) { + var _num = Math.floor(Math.random() * Arr.length); + var mm = Arr[_num]; + Arr.splice(_num, 1); + bookArr.push(mm); } - ] + } else { + bookArr = Arr; + } + this.setData({ + relatedBookData: bookArr, + relatedBookLoading: false, + }); + if (!this.data.relatedBookData.length) + this.setData({ + noRelatedBookData: true, + }); + }); + }, + goBookDetails(e) { + this.setData({ + tabValue: "brief", + pageLoading: true, + }); + let bookPathList = wx.getStorageSync("bookPathList"); + const bookPath = { + id: this.data.bookDetail.id, + name: this.data.bookDetail.name, + }; + if (bookPathList) { + bookPathList = JSON.parse(bookPathList); + if (bookPathList.length > 8) bookPathList.shift(); + bookPathList.push(bookPath); + } else { + bookPathList = [bookPath]; + } + + wx.setStorageSync("bookPathList", JSON.stringify(bookPathList)); + this.setData({ + learn: [], + teach: [] }) + this.onLoad({ + id: e.detail.id, + name: e.detail.name, + }); }, // 搴曢儴璐拱鎸夐挳 buyBtn() { - if (this.data.tabValue == 'brief') { - this.buyBook() - } - else if (this.data.tabValue == 'jsek_cloudLearning') { - const tree = this.selectComponent('#tree') - tree.onCloudShoppingCart() - } else if (this.data.tabValue == 'questionBank') { - this.buyMock() + if (this.data.tabValue == "brief" && !this.data.bookBuy) { + this.buyBook(); + } else if (this.data.tabValue == "jsek_cloudLearning") { + const tree = this.selectComponent("#tree"); + tree.onCloudShoppingCart(); } else { console.log(this.data.tabValue); } @@ -1414,304 +2092,701 @@ goRead() { if (!this.data.noFile) { wx.showToast({ - title: '鏆傛棤闃呰鏂囦欢', - icon: 'none', - duration: 2000 - }) + title: "鏆傛棤闃呰鏂囦欢", + icon: "none", + duration: 2000, + }); return false; } wx.navigateTo({ - url: '/packageBookService/pages/components/webView/index?md5=' + this.data.fileInfo.md5 + '&fileName=' + this.data.fileInfo.bookName + '&fileType=' + this.data.fileInfo.fileType + '&freePage=' + this.data.fileInfo.freePage - }) + url: "/packageBookService/pages/components/webView/index?md5=" + + this.data.fileInfo.md5 + + "&fileName=" + + this.data.fileInfo.bookName + + "&fileType=" + + this.data.fileInfo.fileType + + "&freePage=" + + this.data.fileInfo.freePage + + "&bookBuy=" + + this.data.bookBuy + + "&bookId=" + + this.data.bookDetail.id, + }); }, //鏍蜂功鐢宠 - //鐢宠鐢靛瓙鏍蜂功 - appplyElectronicBook() { - console.log(this.data.bookDetail) - if (this.data.bookDetail.isApplyBook == 2 || this.data.bookDetail.isApplyBook == 4) { - - let role = this.data.userInfo != null ? this.data.userInfo.role : null - if (role) { - if (role == 'Teacher') { - if (this.data.noFile) { - this.getSelectBookCount() + //鑾峰彇宸茬敵璇风焊璐ㄦ牱涔� + getAlreadyPBookList() { + const data = { + start: 0, + size: 9999, + topicIdOrRefCode: "applyEntityBook", + appRefCode: app.config.appRefCode, + sort: { + type: "Desc", + field: "CreateDate", + }, + }; + app.MG.ugc.getTopicMessageList(data).then((res) => { + let list = []; + res.datas.map((item) => { + if (item.content) { + item.content = JSON.parse(item.content); + } + list.push(item); + }); + this.setData({ + alreadyPaperBookList: list, + }); + }); + }, + //鑾峰彇宸茬敵璇风數瀛愭牱涔� + getAlreadyEBookList() { + const data = { + start: 0, + size: 9999, + topicIdOrRefCode: "applyBook", + appRefCode: app.config.appRefCode, + sort: { + type: "Desc", + field: "CreateDate", + }, + }; + app.MG.ugc.getTopicMessageList(data).then((res) => { + let list = []; + if (res.datas.length > 0) { + res.datas.map((item) => { + if (item.feedBack) { + item.feedBack = JSON.parse(item.feedBack); + if (item.feedBack.endDate) { + let times = new Date( + item.feedBack.endDate + " 23:59:59" + ).getTime(); + let currentDate = new Date().getTime(); + if (times < currentDate) { + item.isExpiry = true; + } + } + } + if (item.content) { + item.content = JSON.parse(item.content); + } + if (item.state != "Reject") { + list.push(item); + } + }); + const smBook = list.find(item => item.content[0].id == this.data.bookDetail.id) + 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 { - wx.showToast({ - title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!", - icon: 'none', - duration: 1000, + this.setData({ + applicationState: 'overdue' }) } - } else { - wx.showModal({ - title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰� - content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹� - success: function (res) { - if (res.confirm) { - wx.navigateTo({ - url: "/packageDomain/pages/teacherCertification/index", - }); - } else if (res.cancel) { - } - } - }) } + this.setData({ + alreadyElectronicBookList: list, + }); } - } else { - wx.showToast({ - title: "璇ヤ功涓嶈兘鐢宠鐢靛瓙鏍蜂功", - icon: 'none', - duration: 1000, - }) - } + }); }, - //鐢宠绾歌川鏍蜂功 - appplyPaperBook() { - if (this.data.bookDetail.isApplyBook == 3 || this.data.bookDetail.isApplyBook == 4) { - let role = this.data.userInfo != null ? this.data.userInfo.role : null - if (role) { - if (role == 'Teacher') { - this.getSelectPaperBookCount() - } else { - wx.showModal({ - title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰� - content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹� - success: function (res) { - if (res.confirm) { - wx.navigateTo({ - url: "/packageDomain/pages/teacherCertification/index", - }); - } else if (res.cancel) { - } - } - }) - } - } - } else { - wx.showToast({ - title: "璇ヤ功涓嶈兘鐢宠绾歌川鏍蜂功", - icon: 'none', - duration: 1000, - }) - } - }, + //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙绾歌川锛� getSelectPaperBookCount() { app.MG.app .getTicketResult({ - ticketRefCodeOrGuid: 'paperSampleBookapplyNum', - roleId: this.data.userInfo.roleId + ticketRefCodeOrGuid: "paperSampleBookapplyNum", + roleId: this.data.userInfo.roleId, }) .then((res) => { this.setData({ - paperBookCount: res.totalCount - res.usedCount - }) - this.getAlreadyBookList(this.data.bookDetail, 'pBook') - }) + paperBookCount: res.totalCount - res.usedCount, + }); + }); }, //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙鐢靛瓙锛� getSelectBookCount() { app.MG.app .getTicketResult({ - ticketRefCodeOrGuid: 'electronicSampleBookapplyNum', - roleId: this.data.userInfo.roleId + ticketRefCodeOrGuid: "electronicSampleBookapplyNum", + roleId: this.data.userInfo.roleId, }) .then((res) => { this.setData({ - ebookCount: res.totalCount - res.usedCount - }) - this.getAlreadyBookList(this.data.bookDetail, 'eBook') - }) + ebookCount: res.totalCount - res.usedCount, + }); + }); }, - //鑾峰彇宸茬敵璇风殑鏍蜂功鍒楄〃 - getAlreadyBookList(item, type) { - let topicIdOrRefCode = null - if (type == 'eBook') { - topicIdOrRefCode = 'applyBook' - } else { - topicIdOrRefCode = 'applyEntityBook' + + //鐢宠鐢靛瓙鏍蜂功 + 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) {} + }, + }); } - const data = { - start: 0, - size: 9999, - topicIdOrRefCode, - appRefCode: app.config.appRefCode, - sort: { - type: 'Desc', - field: 'CreateDate' - } - } - app.MG.ugc.getTopicMessageList(data).then((res) => { - let itemAttr = null - let isHas = false - itemAttr = { - id: item.id, - title: item.name || '--', - icon: item.icon, - checked: false, - defaultSaleMethodId: item.defaultSaleMethodId, - md5: item.datas.Icon, - author: item.author || '--', - price: item.price || '--', - isbn: item.isbn || '--', - publicationDate: item.publicationDate - } - res.datas.map((item) => { - if (item.feedBack) { - item.feedBack = JSON.parse(item.feedBack) - if (item.feedBack.endDate) { - const currentDate = new Date() - let times = new Date(item.feedBack.endDate + ' 23:59:59').getTime() - if (times < currentDate.getTime()) { - item.isExpiry = true - } - } + if ( + this.data.bookDetail.isApplyBook == 2 || + this.data.bookDetail.isApplyBook == 4 + ) { + let role = this.data.userInfo != null ? this.data.userInfo.role : null; + if (role && role == "Teacher") { + if (!this.data.noFile) { + wx.showToast({ + title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!", + icon: "none", + duration: 1000, + }); + return; } - if (item.content) { - item.content = JSON.parse(item.content) - item.content.map((e) => (item.productId = e.id)) + if (this.data.ebookCount == 0) { + wx.showToast({ + title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒", + icon: "none", + duration: 1000, + }); + return false; } - }) - let objVal = null - if (type != 'eBook') { - objVal = res.datas.find( - (i) => i.productId == item.id && i.state != 'Reject' && i.state == 'WaitAudit' - ) - } else { - objVal = res.datas.find((i) => i.productId == item.id && i.state != 'Reject') - } - if (objVal && !objVal.isExpiry && type == 'eBook') { - wx.showToast({ - title: "鎮ㄥ凡鐢宠璇ユ牱涔�", - icon: 'none', - duration: 1000, - }) - } else if (objVal && type != 'eBook') { - wx.showToast({ - title: "鎮ㄥ凡鐢宠璇ユ牱涔�", - icon: 'none', - duration: 1000, - }) - } else { - if (type == 'eBook') { - if (this.data.ebookCount > 0) { - const eBookData = this.data.electronicBookList - if (eBookData.length == 2) { - wx.showToast({ - title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�", - icon: 'none', - duration: 1000, - }) - return false - } - if (eBookData.length > 0) { - for (let i = 0; i < eBookData.length; i++) { - if (eBookData[i].id == item.id) { - isHas = true - } - } - if (!isHas) { - wx.showToast({ - title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~", - icon: "none", - duration: 1000, - }) - this.setData({ - electronicBookList: [...this.data.electronicBookList, ...[itemAttr]], - num: this.data.electronicBookList.length + this.data.paperBookList.length - }) - wx.setStorageSync("electronicBookList", this.data.electronicBookList); - } else { - wx.showToast({ - title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�", - icon: "none", - duration: 1000, - }) - } - } else { - wx.showToast({ - title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~", - icon: "none", - duration: 1000, - }) - this.setData({ - electronicBookList: [itemAttr], - num: 1 + this.data.paperBookList.length - }) - wx.setStorageSync("electronicBookList", [itemAttr]); - } - } else { + + let isHas = this.data.electronicBookList.find( + (eitem) => eitem.id == this.data.bookDetail.id + ); + if (isHas) { + wx.showToast({ + title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�", + icon: "none", + duration: 1000, + }); + return false; + } + let isApply = this.data.alreadyElectronicBookList.find( + (eitem) => eitem.content[0].id == this.data.bookDetail.id + ); + if (isApply) { + if (isApply.state == 'WaitAudit') { wx.showToast({ - title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒", + title: "璇ヤ功宸茬敵璇凤紒", icon: "none", duration: 1000, - }) - } - } else { - if (this.data.paperBookCount > 0) { - const pBookData = this.data.paperBookList - if (pBookData.length == 2) { + }); + 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: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�", - icon: 'none', + title: "璇ヤ功宸茬敵璇凤紒", + icon: "none", duration: 1000, - }) - return false + }); + return false; } - if (pBookData.length > 0) { - for (let i = 0; i < pBookData.length; i++) { - if (pBookData[i].id == item.id) { - isHas = true - } - } - if (!isHas) { - wx.showToast({ - title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~", - icon: 'none', - duration: 1000, - }) - this.setData({ - paperBookList: [...this.data.paperBookList, ...[itemAttr]], - num: this.data.paperBookList.lenght + this.data.electronicBookList.length - }) - wx.setStorageSync("paperBookList", this.data.paperBookList); - } else { - wx.showToast({ - title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�", - icon: "none", - duration: 1000, - }) - } - } else { - wx.showToast({ - title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~", - icon: 'none', - duration: 1000, - }) - this.setData({ - paperBookList: [itemAttr], - num: 1 + this.data.electronicBookList.length - }) - wx.setStorageSync("paperBookList", [itemAttr]); - } - } else { - wx.showToast({ - title: "鎮ㄧ殑绾歌川鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒", - icon: 'none', - duration: 1000, - }) } } + if (this.data.electronicBookList.length >= 2) { + wx.showToast({ + title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�", + icon: "none", + duration: 1000, + }); + return false; + } + this.addBookFun(this.data.bookDetail, "eBook"); + } else { + 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) {} + }, + }); } - }) + } else { + wx.showToast({ + title: "璇ヤ功涓嶈兘鐢宠鐢靛瓙鏍蜂功", + icon: "none", + duration: 1000, + }); + } }, + //鐢宠绾歌川鏍蜂功 + 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 + ) { + let role = this.data.userInfo != null ? this.data.userInfo.role : null; + if (role && role == "Teacher") { + // 鐐瑰嚮閫変腑 + if (this.data.paperBookCount == 0) { + wx.showToast({ + title: "鎮ㄧ殑绾歌川鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒", + icon: "none", + duration: 1000, + }); + return false; + } + let isApply = this.data.alreadyPaperBookList.find( + (pitem) => pitem.content[0].id == this.data.bookDetail.id + ); + if (isApply) { + wx.showToast({ + title: "璇ヤ功宸茬敵璇凤紒", + icon: "none", + duration: 1000, + }); + return false; + } + + let isHas = this.data.paperBookList.find( + (pitem) => pitem.id == this.data.bookDetail.id + ); + if (isHas) { + wx.showToast({ + title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�", + icon: "none", + duration: 1000, + }); + return false; + } + if (this.data.paperBookList.length >= 2) { + wx.showToast({ + title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�", + icon: "none", + duration: 1000, + }); + return false; + } + this.addBookFun(this.data.bookDetail, "pBook"); + } else { + 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) {} + }, + }); + } + } else { + wx.showToast({ + title: "璇ヤ功涓嶈兘鐢宠绾歌川鏍蜂功", + icon: "none", + duration: 1000, + }); + } + }, + // 娣诲姞鏍蜂功 + addBookFun(item, type) { + let itemAttr = null; + const eList = this.data.electronicBookList; + const pList = this.data.paperBookList; + itemAttr = { + id: item.id, + title: item.name || "-", + icon: item.icon, + checked: false, + defaultSaleMethodId: item.defaultSaleMethodId, + md5: item.datas.Icon, + author: item.author || "-", + price: item.price || "-", + isbn: item.isbn || "-", + publicationDate: item.publicationDate, + }; + if (type == "eBook") { + eList.push(itemAttr); + this.setData({ + electronicBookList: eList, + }); + wx.setStorageSync("electronicBookList", JSON.stringify(eList)); + } else { + pList.push(itemAttr); + this.setData({ + paperBookList: pList, + }); + wx.setStorageSync("paperBookList", JSON.stringify(pList)); + } + this.setData({ + num: this.data.num + 1, + }); + wx.showToast({ + title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~", + icon: "none", + duration: 1000, + }); + }, + //鍘绘牱涔︾敵璇峰崟 goApply() { wx.navigateTo({ url: "/packageDomain/pages/sampleBookList/applicationForm/index", }); }, + handleTree() { + // const child = this.selectComponent('#teach-tree') + let tree; + // let openIds = child.data.openIds + if (this.data.tabValue == "jsek_teachingResources") { + tree = this.data.teach; + } else { + tree = this.data.learn; + } + for (let index = 0; index < tree.length; index++) { + const item = tree[index]; + if (item.children && item.children.length > 0) { + const num = this.data.openTeachids.findIndex( + (citem) => item.id == citem + ); + if (num >= 0) { + item.open = true; + } else { + item.open = false; + } + this.handleTree(item.children); + } + } + this.setData({ + teach: tree, + }); + }, -}) + // 鍓旈櫎鏍戠粨鏋勫浣欙紝鍙繚鐣欏垵濮嬮渶瑕佸睍寮�鐨� + // 绗竴姝ワ細淇濈暀鏍戠粨鏋勫墠涓ゅ眰锛屽苟灏嗗睍寮�椤瑰姞鍏ユ暟缁� + deleteTreeData(list, openids) { + let resultList = [] + for (let index = 0; index < list.length; index++) { + const item = list[index]; + if (item.children.length > 0) { + for (let cindex = 0; cindex < item.children.length; cindex++) { + const citem = item.children[cindex]; + citem.children = [] + } + } + resultList.push(item) + } + for (let index = 0; index < openids.length; index++) { + const id = openids[index]; + // 灞曞紑椤瑰姞鍏ユ暟缁� + this.increaseTreeData(list, resultList, id) + } + return resultList + }, + // 浼犻�抜ds锛屽皢闇�瑕佸睍寮�鐨刬d鐨刢hildren 璧嬪�� + increaseTreeData(treeList, list, openid) { + let num = 0; + // let useData = treeList.find(item => item.id == openid) + for (let index = 0; index < treeList.length; index++) { + const item = treeList[index]; + if (item.id == openid && num >= 3) { + let useArr = item.children ? item.children : [] + this.changeList(list, openid, useArr) + } else { + num += 1 + this.increaseTreeData(item.children, list, openid) + } + } + + }, + // 閫掑綊鍓嶄袱灞傦紝鎵惧嚭闇�瑕佸睍寮�鐨� + changeList(isList, id, childrenList) { + for (let dindex = 0; dindex < isList.length; dindex++) { + const ditem = isList[dindex]; + if (ditem.id == id) { + ditem.children = childrenList + return true + } else { + this.changeList(ditem.children, id, childrenList) + } + } + return childrenList + }, + uploadFile(e) { + this.setData({ + dialogBox: true, + isShowUp: true + }); + }, + closeDialog() { + this.setData({ + dialogBox: false, + resourceInfo: { + resourceName: '', + fileType: '', + description: '', + agree: false + }, + }); + }, + onCloseProtocol() { + this.setData({ + protocolShow: false, + }); + }, + onVisibleChange(e) { + this.setData({ + protocolShow: e.detail.visible, + }); + }, + //鏌ョ湅鍗忚 + getAgreement() { + let query = { + path: 'jsek_protocol', + fields: { + content: [], + } + } + app.MG.resource.getItem(query).then((res) => { + try { + + const data = res.datas.find((e) => e.refCode == 'jsek_authorizationAndConsentLetter') + this.setData({ + protocolTxt: data && data.content ? data.content : '鏆傛棤鍗忚', + protocolShow: true + }); + } catch (error) { + this.setData({ + protocolTxt: '鏆傛棤鍗忚', + protocolShow: true, + }); + } + }) + + }, + onNameInput(e) { + this.setData({ + 'resourceInfo.resourceName': e.detail.value, + }); + }, + onResourcePicker(e) { + this.setData({ + resourceValue: [this.data.resourceInfo.fileType], + resourceVisible: true, + }); + }, + onPickerChange(e) { + const { + value + } = e.detail; + this.setData({ + resourceVisible: false, + resourceValue: value, + 'resourceInfo.fileType': value.join(' '), + }); + }, + onPickerCancel(e) { + this.setData({ + resourceVisible: false, + }); + }, + textareaChange(e) { + this.setData({ + 'resourceInfo.description': e.detail.value, + }); + }, + onChange() { + if (this.data.resourceInfo.agree) { + this.setData({ + 'resourceInfo.agree': false, + }); + } else { + this.setData({ + 'resourceInfo.agree': true, + }); + } + }, + uploadPicture() { + var that = this; + wx.chooseMessageFile({ + count: 1, + type: 'file', + success(res) { + const isLt2M = res.tempFiles[0].size / 1024 / 1024 < 50 + if (!isLt2M) { + return wx.showToast({ + title: "涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃 50MB!", + icon: "none", + duration: 1000, + }); + } + const FileName = res.tempFiles[0].name.split('.')[0] + const Extension = res.tempFiles[0].name.split('.')[1] + var medioType = '' + const audioData = ['mp3', 'mp3'] + const videoData = ['mp4', 'avi'] + const pdfData = ['pdf'] + const Compression = ['rar', 'zip'] + const pictureData = ['jpg', 'png'] + const documentData = ['doc', 'docx', 'xls', 'xlsx', "ppt", "pptx"] + if (audioData.indexOf(Extension) > -1) { + medioType = '闊抽' + } else if (videoData.indexOf(Extension) > -1) { + medioType = '瑙嗛' + } else if (pdfData.indexOf(Extension) > -1) { + medioType = 'PDF' + } else if (Compression.indexOf(Extension) > -1) { + medioType = '璧勬簮鍖�' + } else if (pictureData.indexOf(Extension) > -1) { + medioType = '鍥剧墖' + } else if (documentData.indexOf(Extension) > -1) { + medioType = '鏂囨。' + } else { + medioType = '鍏朵粬' + } + wx.getFileSystemManager().getFileInfo({ + filePath: res.tempFiles[0].path, //閫夋嫨鍥剧墖杩斿洖鐨勭浉瀵硅矾寰� + // encoding: 'binary', //缂栫爜鏍煎紡 + success: ress => { + //鎴愬姛鐨勫洖璋� + let md5 = ress.digest; + let formData = new FormData(); + formData.append('Md5', md5); + formData.append('FileName', FileName); + formData.append('FileType', res.tempFiles[0].type); + formData.appendFile("file", res.tempFiles[0].path); + const data = formData.getData(); + let _token = wx.getStorageSync(app.config.tokenKey); + let header = {}; + if (_token == null) { + header["Authorization"] = `Basic ${Base64.encode(website.clientId + ":" + website.clientSecret)}`; + } else { + header["Authorization"] = `Bearer ` + _token; + } + new Promise((resolve, reject) => { + wx.request({ + url: app.config.requestCtx + '/file/api/ApiUpload', + method: 'POST', + header: { + 'content-type': data.contentType, + ...header + }, + data: data.buffer, + success(res1) { + resolve(res1.data); + if (res1.data) { + let file = [{ + name: res.tempFiles[0].name, + md5: md5, + type: medioType, + FileType: Extension + }] + that.setData({ + "resourceInfo.resourceName": FileName, + "resourceInfo.fileType": medioType, + + fileList: file, + isShowUp: false + }) + } + } + }) + }) + } + }) + } + }) + + }, + handleRemove(e) { + this.setData({ + isShowUp: true, + fileList: [] + }); + }, + confirmM() { + if (this.data.resourceInfo.resourceName == '') { + return wx.showToast({ + icon: "error", + title: "璇峰~鍐欒祫婧愬悕绉�", + }); + } + if (this.data.resourceInfo.fileType == '') { + return wx.showToast({ + icon: "error", + title: "璇烽�夋嫨璧勬簮绫诲瀷", + }); + } + + if (!this.data.fileList.length) { + return wx.showToast({ + icon: "error", + title: "璇蜂笂浼犺祫婧愭枃浠�", + }); + } + if (!this.data.resourceInfo.agree) { + return wx.showToast({ + icon: "none", + title: "璇峰悓鎰忋�婃巿鏉冨悓鎰忎功銆嬶紒", + }); + } + let query = { + topicIdOrRefCode: "uploadFiles", + name: this.data.bookDetail.name, + content: JSON.stringify(JSON.parse(JSON.stringify(this.data.fileList))), + type: 'UserSubmit', + description: this.data.resourceInfo.description, + cmsTypeRefCode: '', + newDataListRequest: [] + } + app.MG.ugc.newTopicMessage(query).then((res) => { + wx.showToast({ + icon: "success", + title: "璇蜂笂浼犺祫婧愭枃浠�", + }); + this.closeDialog() + }) + }, + getCloundIsBuy() { + let flag = false + if (!this.data.isCloundHaveSaleMethod) flag = false + const cloundData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning') + const saleData = cloundData.saleMethod.find(item => item.SaleType == "Normal") + if (!saleData) flag = false + flag = this.data.buyIdList.some(item => item == saleData.Id) + this.setData({ + cloundMenuIsBuy: flag + }) + } +}) \ No newline at end of file -- Gitblit v1.9.1