| | |
| | | // pages/bookServices/detail/index.js |
| | | 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: { |
| | | // 进页面默认切换 展开的id |
| | | // defaultactiveTeachid 教学资源 |
| | | // defaultactiveLearnid 云学习 |
| | | bookId: "", |
| | | barHeight: "", |
| | | navBarHeight: "", |
| | | options: { |
| | | id: "", |
| | | name: "", |
| | | storeInfo: '', |
| | | }, |
| | | bookDetail: {}, |
| | | bookClass: [], |
| | |
| | | teach: [], |
| | | learn: [], |
| | | test: [], |
| | | jslx: true, |
| | | openTeachids: [], |
| | | openLearnids: [], |
| | | openTestids: [], |
| | | isGoBuyResource: true, |
| | | learnPath: '', |
| | | applyResourceState: false, // 申请教学资源按钮防抖 |
| | | resourceClassList: [], // 资源所属分类 |
| | | applyState: "", // 教学资源申请状态 |
| | |
| | | electronicBookList: [], //样书单电子书 |
| | | paperBookCount: 0, //纸质书剩余次数 |
| | | ebookCount: 0, //电子书剩余次数 |
| | | resourceCodeList: [], // 资源refcode列表 |
| | | userInfo: {}, |
| | | pageLoading: true, |
| | | fileInfo: { |
| | |
| | | }, |
| | | ], |
| | | showIndex: '', |
| | | successOrderNumber: '' |
| | | 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) { |
| | |
| | | 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: options.name, |
| | | 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(app.config.tokenKey); |
| | | // this.getResourceClass(); // 获取资源所属分类 |
| | | token = wx.getStorageSync(app.config.tokenKey) |
| | | if (token) { |
| | | this.getShoppingCartProductGet(); |
| | | this.getApplyInfo(options.id); |
| | |
| | | // 获取申请次数 |
| | | this.getSelectPaperBookCount(); |
| | | this.getSelectBookCount(); |
| | | } |
| | | if (options.tabValue) { |
| | | this.setData({ |
| | | tabValue: options.tabValue, |
| | | }); |
| | | |
| | | |
| | | } |
| | | }, |
| | | |
| | |
| | | "mockData.count": 0, |
| | | }); |
| | | const query = { |
| | | storeInfo: this.data.options.storeInfo, |
| | | path: "*", |
| | | queryType: "*", |
| | | productId: id, |
| | |
| | | dangdangLink: [], |
| | | weidianLink: [], |
| | | content: [], |
| | | catalogue: [], |
| | | authorIntroduction: [], |
| | | // isApplyPaperBook: [], |
| | | // isApplyEBook: [], |
| | |
| | | }, |
| | | }; |
| | | app.MG.store.getProductDetail(query).then(async (res) => { |
| | | console.log(res.datas, 'res.datas'); |
| | | this.getResourceCode(id, res.datas.rootCmsItemId) |
| | | this.setData({ |
| | | bookDetail: res.datas, |
| | | buyIdList: res.datas.purchasedSaleMethodIdList, |
| | | pageLoading: false |
| | | }); |
| | | if (res.datas.cmsDatas && res.datas.cmsDatas.length) { |
| | | this.setData({ |
| | |
| | | this.getSubTtem(); |
| | | // 获取图书分类 |
| | | if (res.datas.bookClassification) { |
| | | let classData = [] |
| | | const bookClassification = JSON.parse(res.datas.bookClassification); |
| | | if (Array.isArray(bookClassification) && bookClassification.length) { |
| | | for (let index = 0; index < bookClassification.length; index++) { |
| | | const element = bookClassification[index]; |
| | | const iconType = element[0]; |
| | | const classType = element[1]; |
| | | await this.getBookClass(iconType, classType); |
| | | classData.push({ |
| | | iconType, |
| | | classType |
| | | }) |
| | | } |
| | | await this.getBookClass(classData); |
| | | } |
| | | } |
| | | 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) |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | this.setData({ |
| | | "bookDetail.publicationDate": this.formatDate( |
| | | this.data.bookDetail.publicationDate |
| | | ), |
| | | "bookDetail.publicationDate": moment(this.data.bookDetail.publicationDate).format("YYYY年MM月"), |
| | | "bookDetail.price": this.numFormat(this.data.bookDetail.price), |
| | | "bookDetail.oldPrice": this.numFormat(this.data.bookDetail.oldPrice), |
| | | "bookDetail.paperPrice": this.numFormat( |
| | | this.data.bookDetail.paperPrice |
| | | ), |
| | | pageLoading: false, |
| | | |
| | | }); |
| | | console.log("图书信息", this.data.bookClass); |
| | | }); |
| | | }, |
| | | 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('图书资源', res.datas.cmsDatas[0].datas) |
| | | }) |
| | | }, |
| | | //请求子商品的文件 |
| | | getSubTtem() { |
| | |
| | | "fileInfo.bookName": this.data.bookDetail.name, |
| | | "fileInfo.fileType": "pdf", |
| | | "fileInfo.md5": res.datas[0].bookshelf_pdf, |
| | | "fileInfo.freePage": res.datas[0].bookshelf_probationPage, |
| | | "fileInfo.freePage": res.datas[0].bookshelf_probationPage ? res.datas[0].bookshelf_probationPage : 30, |
| | | }); |
| | | } else if (res.datas[0].bookshelf_protectedEpub) { |
| | | this.setData({ |
| | | "fileInfo.bookName": this.data.bookDetail.name, |
| | | "fileInfo.fileType": "epub", |
| | | "fileInfo.md5": res.datas[0].bookshelf_protectedEpub, |
| | | "fileInfo.freePage": res.datas[0].bookshelf_freeEpub, |
| | | "fileInfo.freePage": res.datas[0].bookshelf_freeEpub ? res.datas[0].bookshelf_freeEpub : 30, |
| | | }); |
| | | } |
| | | } |
| | |
| | | this.setData({ |
| | | noFile: true, |
| | | }); |
| | | // debugger |
| | | if (this.data.bookDetail.pdf) { |
| | | this.setData({ |
| | | "fileInfo.bookName": this.data.bookDetail.name, |
| | | "fileInfo.fileType": "pdf", |
| | | "fileInfo.md5": this.data.bookDetail.pdf, |
| | | "fileInfo.freePage": this.data.bookDetail.probationPage, |
| | | "fileInfo.freePage": this.data.bookDetail.probationPage ? this.data.bookDetail.probationPage : 30, |
| | | }); |
| | | } else if (this.data.bookDetail.protectedEpub) { |
| | | |
| | |
| | | "fileInfo.bookName": this.data.bookDetail.name, |
| | | "fileInfo.fileType": "epub", |
| | | "fileInfo.md5": this.data.bookDetail.protectedEpub, |
| | | "fileInfo.freePage": this.data.bookDetail.freeEpubPage, |
| | | "fileInfo.freePage": this.data.bookDetail.freeEpubPage ? this.data.bookDetail.freeEpubPage : 30, |
| | | }); |
| | | } |
| | | } |
| | |
| | | }); |
| | | }, |
| | | // 获取图书分类 |
| | | async getBookClass(iconType, classType) { |
| | | async getBookClass(list) { |
| | | let name = ""; |
| | | const query = { |
| | | refCodes: ["bookClassification"], |
| | | }; |
| | | await app.MG.store.getProductTypeField(query).then((res) => { |
| | | JSON.parse(res[0].config).option.forEach((item) => { |
| | | if (item.value == iconType) { |
| | | item.child.forEach((citem) => { |
| | | if (citem.value == classType) { |
| | | const flag = this.data.bookClass.findIndex((ditem) => ditem == citem.name) |
| | | if (flag == -1) { |
| | | let list = this.data.bookClass |
| | | list.push(citem.name) |
| | | this.setData({ |
| | | bookClass: list |
| | | }) |
| | | } |
| | | for (let aindex = 0; aindex < list.length; aindex++) { |
| | | const aitem = list[aindex]; |
| | | const iconType = aitem.iconType |
| | | const classType = aitem.classType |
| | | JSON.parse(res[0].config).option.forEach((item) => { |
| | | if (item.value == iconType) { |
| | | if (item.child && item.child.length) { |
| | | item.child.forEach((citem) => { |
| | | if (citem.value == classType) { |
| | | const flag = this.data.bookClass.findIndex((ditem) => ditem == citem.name) |
| | | if (flag == -1) { |
| | | let list = this.data.bookClass |
| | | list.push(citem.name) |
| | | this.setData({ |
| | | bookClass: list |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | // 收藏 |
| | |
| | | link |
| | | } = e.currentTarget.dataset; |
| | | wx.navigateTo({ |
| | | url: `/packageBookService/pages/bookServices/webpage/index?url=${link}`, |
| | | url: `/packageBookService/pages/bookServices/linkPage/index?path=${link}`, |
| | | }); |
| | | }, |
| | | // tag切换 |
| | |
| | | e.detail.label == "云测试" |
| | | ) { |
| | | const checkData = this.data.cmsDatas.find( |
| | | (item) => item.refCode == e.detail.value |
| | | (item) => item.refCode == this.data.tabValue |
| | | ); |
| | | |
| | | if (!this.data.resourceClassList.length) this.getResourceClass() |
| | | if (checkData) { |
| | | if (e.detail.value == "jsek_cloudLearning") { |
| | | this.setData({ |
| | |
| | | "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) |
| | | ) { |
| | | if (e.detail.value == "jsek_teachingResources") { |
| | | wx.setStorageSync('teachResourcesPath', checkData.productLinkPath) |
| | | } |
| | | // 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(); |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | // 获取教学资源 云学习 云测试 |
| | | 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 |
| | | }, |
| | | |
| | | // 扁平化数据转换tree |
| | | getTreeList(rootList, pathLength, newArr, path) { |
| | | for (const item of rootList) { |
| | | // 此处原本 item.productLinkPath.length == pathLength 但 productLinkPath 长度个别书存在4、5位交错 |
| | | if ((pathLength - item.productLinkPath.length >= 0 && pathLength - item.productLinkPath.length <= 3) && item.productLinkPath.includes(path)) { |
| | | if (item.sysType == 'CmsItem') { |
| | | if (item.selectType == 'webpage') { |
| | | item.disabled = true |
| | | } 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) |
| | | } |
| | | } |
| | | //给数组里面再添加一个children的空数组 |
| | | // let addnum1 = pathLength - path.length == 6 ? 6 : 7 |
| | | for (const i of newArr) { |
| | | i.children = [] |
| | | let addnum1 = i.productLinkPath.length - path.length == 6 ? 6 : 7 |
| | | this.getTreeList(rootList, pathLength + addnum1, 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 => Number(newObj.productLinkPath.substring(newObj.productLinkPath.lastIndexOf('\\') + 1, newObj.productLinkPath.length)) < Number(obj.productLinkPath.substring(obj.productLinkPath.lastIndexOf('\\') + 1, obj.productLinkPath.length))); |
| | | // 如果没有找到合适的位置,则放在数组末尾 |
| | | if (insertIndex === -1) { |
| | | insertIndex = array.length; |
| | | } |
| | | // 插入新对象到数组 |
| | | array.splice(insertIndex, 0, newObj); |
| | | // 测试6 正式5 |
| | | // 对数组进行排序 |
| | | array.sort((a, b) => { |
| | | if (Number(a.productLinkPath.substring(a.productLinkPath.lastIndexOf('\\') + 1, a.productLinkPath.length)) < Number(b.productLinkPath.substring(b.productLinkPath.lastIndexOf('\\') + 1, b.productLinkPath.length))) { |
| | | return -1; |
| | | } |
| | | if (Number(a.productLinkPath.substring(a.productLinkPath.lastIndexOf('\\') + 1, a.productLinkPath.length)) > Number(b.productLinkPath.substring(b.productLinkPath.lastIndexOf('\\') + 1, b.productLinkPath.length))) { |
| | | return 1; |
| | | } |
| | | // a must be equal to b |
| | | return 0; |
| | | }); |
| | | |
| | | // 返回更新后的数组 |
| | | return array; |
| | | }, |
| | | // 教学资源 云学习 获取 |
| | | getResourceDataList(type) { |
| | | this.setData({ |
| | | loading: true, |
| | | 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: [], |
| | | jsek_link: [], |
| | | jsek_questionBank: [] |
| | | }, |
| | | pading: { |
| | | start: 0, |
| | | size: 999 |
| | | }, |
| | | } |
| | | app.MG.store.getProductDetailNoChildren(query).then((res) => { |
| | | if (!res.datas.cmsDatas[0].datas.length) { |
| | | return this.setData({ |
| | | noResources: true, |
| | | loading: false, |
| | | }); |
| | | } |
| | | 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; |
| | | }); |
| | | if (this.data.tabValue == "jsek_teachingResources") {} else if (this.data.tabValue == "jsek_cloudLearning") { |
| | | item.isbuy = this.isShowNeedBuy(item); |
| | | item.isShopCar = this.isShoppingCart(item); |
| | | } |
| | | } |
| | | }); |
| | | if (type.refCode == "jsek_cloudLearning") { |
| | | this.setData({ |
| | | learnPath: type.productLinkPath |
| | | }) |
| | | const dataList = res.datas.cmsDatas[0].datas |
| | | // 先判断是否否买云学习整个目录 |
| | | let couldId = null |
| | | let codeData = null |
| | | if (this.data.resourceCodeList.length) { |
| | | codeData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning') |
| | | if (codeData && codeData.saleMethod && codeData.saleMethod.length) |
| | | couldId = codeData.saleMethod[0].Id |
| | | } |
| | | if (couldId) { |
| | | this.setData({ |
| | | isGoBuyResource: this.data.buyIdList.indexOf(couldId) > -1 ? false : true |
| | | }) |
| | | } else if (dataList.length) { |
| | | const tag = dataList.findIndex(item => item.saleMethod.length && item.saleMethod[0].Price > 0) |
| | | this.setData({ |
| | | isGoBuyResource: tag > -1 ? true : false |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | isGoBuyResource: false |
| | | }) |
| | | } |
| | | } |
| | | const addNum = query.cmsPath.length > 10 ? 7 : query.cmsPath.length > 13 ? 8 : 6 |
| | | const num = query.cmsPath.length + addNum |
| | | this.getTreeList(res.datas.cmsDatas[0].datas, num, list, '\\') |
| | | list = this.ensureTreeConsistency(list) |
| | | list = this.changeResourceChildren(list) |
| | | let result = []; |
| | | if (type.refCode == "jsek_teachingResources") { |
| | | this.findChildIds(list, result); |
| | | // const newUSeList = this.deleteTreeData(list, result) |
| | | // console.log('树剔除', result, newUSeList); |
| | | // console.log('树加一', this.increaseTreeData(list, newUSeList, 16094)); |
| | | this.setData({ |
| | | openTeachids: result, |
| | | loading: false, |
| | | teach: list, |
| | | }); |
| | | } 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, |
| | | }); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // 获取 云测试 |
| | | getResourceData(type) { |
| | | var that = this |
| | | that.setData({ |
| | | loading: true, |
| | | noResources: false, |
| | | }); |
| | | let query = { |
| | | path: "*", |
| | | queryType: "*", |
| | | productId: this.data.bookDetail.id, |
| | | storeInfo: that.data.options.storeInfo, |
| | | productId: that.data.bookDetail.id, |
| | | cmsPath: type.productLinkPath, |
| | | cmsType: '*', |
| | | itemFields: { |
| | | SysType: "CmsFolder", |
| | | // 资源类型,试读文件,是否允许下载等参数 |
| | |
| | | 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, |
| | | 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 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, |
| | | } else { |
| | | that.setData({ |
| | | noResources: true, |
| | | loading: false, |
| | | openLearnids: result, |
| | | }); |
| | | } |
| | | console.log(list, '云學習789'); |
| | | } 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 = [] |
| | | // 测试 6位// 正式 5位// 测试调用传20,内部7 正式调用传17 内部传6 |
| | | |
| | | const addNum = query.cmsPath.length > 10 ? 7 : query.cmsPath.length > 13 ? 8 : 6 |
| | | const num = query.cmsPath.length + addNum |
| | | that.getTreeList(data, num, list, '\\') |
| | | 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, |
| | | }); |
| | | } |
| | | } |
| | | } 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) => { |
| | |
| | | let query = { |
| | | path: "*", |
| | | queryType: "*", |
| | | storeInfo: this.data.options.storeInfo, |
| | | productId: this.data.bookDetail.id, |
| | | cmsPath: path, |
| | | itemFields: { |
| | |
| | | // 获取展开项 |
| | | findChildIds(data, result) { |
| | | let index = 0 |
| | | for (let i = 0; i < data.length; i++) { |
| | | if (index < 3) { |
| | | const item = data[i] |
| | | if (item.childrenFolderCount > 0) { |
| | | result.push(item.id) |
| | | for (let j = 0; j < item.children.length; j++) { |
| | | if (index < 3) { |
| | | const childrenItme = item.children[j] |
| | | if (item.childrenCount > 0) { |
| | | result.push(childrenItme.id) |
| | | index += 1 |
| | | if (data) |
| | | for (let i = 0; i < data.length; i++) { |
| | | if (index < 3) { |
| | | const item = data[i] |
| | | if (item.children && item.children.length > 0) { |
| | | result.push(item.id) |
| | | if (item.children) { |
| | | for (let j = 0; j < item.children.length; j++) { |
| | | if (index < 3) { |
| | | const childrenItme = item.children[j] |
| | | if (item.childrenCount > 0) { |
| | | result.push(childrenItme.id) |
| | | index += 1 |
| | | } |
| | | } else { |
| | | break |
| | | } |
| | | } |
| | | } else { |
| | | break |
| | | } |
| | | } else if (item.childrenCount > 0) { |
| | | result.push(item.id) |
| | | index += 1 |
| | | } |
| | | } else if (item.childrenCount > 0) { |
| | | result.push(item.id) |
| | | index += 1 |
| | | } else { |
| | | break |
| | | } |
| | | } else { |
| | | break |
| | | } |
| | | } |
| | | }, |
| | | |
| | | // 图书添加购物车 |
| | |
| | | // 发起订单初始化请求并等待结果 |
| | | const res = await app.MG.store.initOrder(query); |
| | | // 获取订单号并赋值给 orderNumber.value |
| | | console.log(res, 'res456'); |
| | | bookOrdersId = res.orderNumber; |
| | | // 检查订单号是否存在 |
| | | if (bookOrdersId) { |
| | |
| | | url, |
| | | }); |
| | | } |
| | | } else { |
| | | console.log(222); |
| | | } |
| | | } else {} |
| | | } else { |
| | | wx.showToast({ |
| | | title: "商品不在有效期", |
| | |
| | | }, |
| | | // 申请教学资源 |
| | | applyResource() { |
| | | |
| | | // if (this.data.applyResourceState) { |
| | | // return wx.showToast({ |
| | | // icon: "error", |
| | |
| | | }, |
| | | // 判断资源是否购买 |
| | | resourceIsBuy(data) { |
| | | if (data.saleMethod && data.saleMethod.length) { |
| | | let couldId = null |
| | | let codeData = null |
| | | if (this.data.resourceCodeList.length) { |
| | | codeData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning') |
| | | if (codeData && codeData.saleMethod && codeData.saleMethod.length) |
| | | couldId = codeData.saleMethod[0].Id |
| | | } |
| | | if (couldId) { |
| | | return this.data.buyIdList.indexOf(couldId) > -1 ? false : true |
| | | } else 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 data.saleMethod[0].Price > 0 ? true : false; |
| | | } |
| | | return !isSHow; |
| | | } else { |
| | |
| | | }, |
| | | // 判断资源加入购物车按钮是否显示 |
| | | isShoppingCart(data) { |
| | | if (data.saleMethod && data.saleMethod.length) { |
| | | let couldId = null |
| | | let codeData = null |
| | | if (this.data.resourceCodeList.length) { |
| | | codeData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning') |
| | | if (codeData && codeData.saleMethod && codeData.saleMethod.length) |
| | | couldId = codeData.saleMethod[0].Id |
| | | } |
| | | if (couldId) { |
| | | return this.data.buyIdList.indexOf(couldId) > -1 ? false : true |
| | | } else if (data.saleMethod && data.saleMethod.length) { |
| | | if (data.saleMethod[0].Price <= 0) return false; |
| | | // 再判断是否购买 |
| | | const isBuy = this.data.buyIdList.some( |
| | |
| | | }, |
| | | |
| | | updateShoppingCartHidden() { |
| | | |
| | | const isSHow = this.data.shoppingCartGetId.some( |
| | | (item) => item == data.saleMethod[0].Id |
| | | ); |
| | |
| | | const checkData = this.data.cmsDatas.find( |
| | | (item) => item.refCode == "jsek_cloudLearning" |
| | | ); |
| | | this.getResourceData(checkData); |
| | | |
| | | |
| | | |
| | | this.getResourceDataList(checkData); |
| | | }, |
| | | // 遍历树结构转换为数组方法 |
| | | handleTreeData(array) { |
| | |
| | | }; |
| | | // 确认订单 |
| | | const confirmOrderRes = await app.MG.store.confirmOrder(parameter); |
| | | console.log(confirmOrderRes.orderNumber, 'confirmOrderRes.orderNumber'); |
| | | |
| | | |
| | | |
| | | if (confirmOrderRes.orderNumber) { |
| | | child.changeReceive(false); |
| | | wx.showToast({ |
| | | title: "领取成功", |
| | | }); |
| | | this.getBookInfo(this.data.bookId); |
| | | this.getResourceDataList({ |
| | | refCode: 'jsek_cloudLearning', |
| | | productLinkPath: this.data.learnPath |
| | | }) |
| | | this.setData({ |
| | | successOrderNumber: confirmOrderRes.orderNumber |
| | | }) |
| | | |
| | | |
| | | } |
| | | } catch (error) { |
| | | console.log(error); |
| | |
| | | }); |
| | | return false; |
| | | } |
| | | |
| | | // debugger |
| | | wx.navigateTo({ |
| | | url: "/packageBookService/pages/components/webView/index?md5=" + |
| | | this.data.fileInfo.md5 + |
| | |
| | | this.data.bookBuy + |
| | | "&bookId=" + |
| | | this.data.bookDetail.id, |
| | | |
| | | }); |
| | | }, |
| | | |
| | |
| | | list.push(item); |
| | | } |
| | | }); |
| | | const smBook = list.find(item => item.content[0].id == this.data.bookDetail.id) |
| | | console.log('已申请', smBook); |
| | | if (smBook && smBook.state == 'Normal') { |
| | | const flag = new Date(smBook.feedBack.endDate + ' 23:59:59').getTime() > new Date().getTime() |
| | | if (flag) { |
| | | this.setData({ |
| | | applicationState: 'Normal' |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | applicationState: 'overdue' |
| | | }) |
| | | } |
| | | } |
| | | this.setData({ |
| | | alreadyElectronicBookList: list, |
| | | }); |
| | |
| | | |
| | | //申请电子样书 |
| | | appplyElectronicBook() { |
| | | // 先判断下教师认证,未对原有逻辑修改 |
| | | let role = this.data.userInfo != null ? this.data.userInfo.role : null; |
| | | if (role && role == "Teacher") {} else { |
| | | return wx.showModal({ |
| | | title: "尊敬的用户,您好!", //提示的标题 |
| | | content: "请先进行教师认证?", //提示的内容 |
| | | confirmColor: "#ff6c00", |
| | | cancelColor: "#949494", |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | wx.navigateTo({ |
| | | url: "/packageDomain/pages/teacherCertification/index", |
| | | }); |
| | | } else if (res.cancel) {} |
| | | }, |
| | | }); |
| | | } |
| | | if ( |
| | | this.data.bookDetail.isApplyBook == 2 || |
| | | this.data.bookDetail.isApplyBook == 4 |
| | |
| | | return false; |
| | | } |
| | | let isApply = this.data.alreadyElectronicBookList.find( |
| | | (eitem) => eitem.id == this.data.bookDetail.id |
| | | (eitem) => eitem.content[0].id == this.data.bookDetail.id |
| | | ); |
| | | if (isApply) { |
| | | wx.showToast({ |
| | | title: "该书已申请!", |
| | | icon: "none", |
| | | duration: 1000, |
| | | }); |
| | | return false; |
| | | if (isApply.state == 'WaitAudit') { |
| | | wx.showToast({ |
| | | title: "该书已申请!", |
| | | icon: "none", |
| | | duration: 1000, |
| | | }); |
| | | return false; |
| | | } else if (isApply.state == 'Normal') { |
| | | const flag = new Date(isApply.feedBack.endDate + ' 23:59:59').getTime() > new Date().getTime() |
| | | if (flag) { |
| | | wx.showToast({ |
| | | title: "该书已申请!", |
| | | icon: "none", |
| | | duration: 1000, |
| | | }); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | if (this.data.electronicBookList.length >= 2) { |
| | | wx.showToast({ |
| | |
| | | }, |
| | | //申请纸质样书 |
| | | appplyPaperBook() { |
| | | let role = this.data.userInfo != null ? this.data.userInfo.role : null; |
| | | if (role && role == "Teacher") {} else { |
| | | return wx.showModal({ |
| | | title: "尊敬的用户,您好!", //提示的标题 |
| | | content: "请先进行教师认证?", //提示的内容 |
| | | confirmColor: "#ff6c00", |
| | | cancelColor: "#949494", |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | wx.navigateTo({ |
| | | url: "/packageDomain/pages/teacherCertification/index", |
| | | }); |
| | | } else if (res.cancel) {} |
| | | }, |
| | | }); |
| | | } |
| | | if ( |
| | | this.data.bookDetail.isApplyBook == 3 || |
| | | this.data.bookDetail.isApplyBook == 4 |
| | |
| | | return false; |
| | | } |
| | | let isApply = this.data.alreadyPaperBookList.find( |
| | | (pitem) => pitem.id == this.data.bookDetail.id |
| | | (pitem) => pitem.content[0].id == this.data.bookDetail.id |
| | | ); |
| | | if (isApply) { |
| | | wx.showToast({ |
| | |
| | | this.setData({ |
| | | electronicBookList: eList, |
| | | }); |
| | | wx.setStorageSync("electronicBookList", eList); |
| | | wx.setStorageSync("electronicBookList", JSON.stringify(eList)); |
| | | } else { |
| | | pList.push(itemAttr); |
| | | this.setData({ |
| | | paperBookList: pList, |
| | | }); |
| | | wx.setStorageSync("paperBookList", pList); |
| | | wx.setStorageSync("paperBookList", JSON.stringify(pList)); |
| | | } |
| | | this.setData({ |
| | | num: this.data.num + 1, |
| | |
| | | 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 |
| | | }, |
| | | // 传递ids,将需要展开的id的children 赋值 |
| | | 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) { |
| | | console.log(e.detail.value) |
| | | this.setData({ |
| | | 'resourceInfo.resourceName': e.detail.value, |
| | | }); |
| | | }, |
| | | onResourcePicker(e) { |
| | | this.setData({ |
| | | 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() |
| | | }) |
| | | } |
| | | }) |