package.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageBookService/pages/bookServices/examination/examination.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageBookService/pages/bookServices/examination/questionList/index.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageBookService/pages/bookServices/examination/questionList/index.wxml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageBookService/pages/bookServices/examination/questionList/index.wxss | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageBookService/pages/bookServices/list/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packageDomain/pages/resourceDetails/myAudio/index.wxml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
package.json
@@ -26,6 +26,7 @@ "dependencies": { "epub.js": "^0.2.15", "moment": "^2.30.1", "mp-html": "^2.4.3", "spark-md5": "^3.0.2", "tdesign-miniprogram": "^1.0.0", "tslib": "^1.11.1" @@ -44,4 +45,4 @@ "lint-staged": "^10.0.8", "prettier": "^2.1.2" } } } packageBookService/pages/bookServices/examination/examination.js
@@ -1,4 +1,6 @@ import { getPublicImage } from '../../../../assets/js/middleGround/tool' import { getPublicImage } from '../../../../assets/js/middleGround/tool' const app = getApp() Page({ @@ -9,26 +11,26 @@ barHeight: "", navBarHeight: "", loading: false, answerTitle: "", // 导航栏标题 countdownInterval: null, // 计时器 answerTitle: "", // 导航栏标题 countdownInterval: null, // 计时器 isCountdownRunning: true, // 是否倒计时 countdownTime: 0, // 倒计时时间 countdownTime: 0, // 倒计时时间 bookId: "", productLinkPath: "", rootCmsItemId: "", idPathList: [], // 题目列表 answerType: "", // 答题模式 submitStatus: false, // 提交状态 idPathList: [], // 题目列表 answerType: "", // 答题模式 submitStatus: false, // 提交状态 currentIndex: 0, // 当前显示的题号 collectList: [], // 收藏题目列表 errorList: [], // 错题列表 subjectiveTotal: 0, // 客观题总数 collectList: [], // 收藏题目列表 errorList: [], // 错题列表 subjectiveTotal: 0, // 客观题总数 subjectiveNum: 0, // 客观题得分 subjectiveGrade: 0, // 客观题总分 correctNum: 0, // 正确题目数量 total: 0, // 题目总数 cardList: [], // 提交项, questionDataList: [], // 显示题目列表 correctNum: 0, // 正确题目数量 total: 0, // 题目总数 cardList: [], // 提交项, questionDataList: [], // 显示题目列表 mockid: 0, uuid: 0, mockData: { @@ -84,8 +86,7 @@ /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, onReady() {}, /** * 生命周期函数--监听页面显示 @@ -149,8 +150,7 @@ /** * 用户点击右上角分享 */ onShareAppMessage() { }, onShareAppMessage() {}, // 监听watch watch(context, variableName, callback) { @@ -438,16 +438,14 @@ }) } app.MG.identity.setUserKey({ setKeyRequests: [ { domain: 'mockAnswerData', key: this.data.uuid, value: JSON.stringify({ time: this.data.countdownTime, answerData: saveData }) } ] setKeyRequests: [{ domain: 'mockAnswerData', key: this.data.uuid, value: JSON.stringify({ time: this.data.countdownTime, answerData: saveData }) }] }) child.openTestReportDialog() } @@ -471,7 +469,7 @@ }) // 测试答题 await this.getCollectIdList() // 获取收藏id列表 await this.getErrorList() // 获取错题id列表 await this.getErrorList() // 获取错题id列表 } else if (this.data.answerType == 'collectQuestion') { this.setData({ submitStatus: true @@ -556,16 +554,14 @@ // 组卷模式 // 清空答题记录 await app.MG.identity.setUserKey({ setKeyRequests: [ { domain: 'mockAnswerData', key: this.data.uuid, value: JSON.stringify({ time: this.data.countdownTime, answerData: [] }) } ] setKeyRequests: [{ domain: 'mockAnswerData', key: this.data.uuid, value: JSON.stringify({ time: this.data.countdownTime, answerData: [] }) }] }) this.init() } else { @@ -588,8 +584,7 @@ this.setData({ collectList: JSON.parse(res[0].value) }) } catch (error) { } } catch (error) {} if (this.data.answerType == 'option') { // 先获取用户答题记录 this.getAnswerInfo(async (res) => { @@ -637,8 +632,7 @@ this.setData({ errorList: JSON.parse(res[0].value) }) } catch (error) { } } catch (error) {} }) }, // 获取题库题目 @@ -703,29 +697,22 @@ // num: index, // 题号 id: item.id, type: pathitem.name, stem: item.Embedded_QuestionBank_QuestionType == 'completion' ? JSON.parse(item.Embedded_QuestionBank_Stem) .stemTxt.replaceAll('<vacancy>', ',input,') .split(',') : JSON.parse(item.Embedded_QuestionBank_Stem), // 题干 stem: item.Embedded_QuestionBank_QuestionType == 'completion' ? JSON.parse(item.Embedded_QuestionBank_Stem) .stemTxt.replaceAll('<vacancy>', ',input,') .split(',') : JSON.parse(item.Embedded_QuestionBank_Stem), // 题干 answer: item.Embedded_QuestionBank_Answer, // 答案 option: item.Embedded_QuestionBank_Option ? JSON.parse(item.Embedded_QuestionBank_Option) : '', // 选择题选项 option: item.Embedded_QuestionBank_Option ? JSON.parse(item.Embedded_QuestionBank_Option) : '', // 选择题选项 analysisCon: item.Embedded_QuestionBank_AnalysisCon, // 解析 questionType: item.Embedded_QuestionBank_QuestionType, // 题型 optionStyle: item.Embedded_QuestionBank_OptionStyle, // 选项显示类型 stemStyle: item.Embedded_QuestionBank_StemStyle, // 题干显示类型 difficulty: item.Embedded_QuestionBank_Difficulty ? 4 - item.Embedded_QuestionBank_Difficulty : 0, // 难度等级 userAnswer: oldObj ? oldObj.userAnswer : item.Embedded_QuestionBank_QuestionType == 'completion' || item.Embedded_QuestionBank_QuestionType == 'multipleChoice' ? [] : '', difficulty: item.Embedded_QuestionBank_Difficulty ? 4 - item.Embedded_QuestionBank_Difficulty : 0, // 难度等级 userAnswer: oldObj ? oldObj.userAnswer : item.Embedded_QuestionBank_QuestionType == 'completion' || item.Embedded_QuestionBank_QuestionType == 'multipleChoice' ? [] : '', isUserAnswer: oldObj ? this.isHaveAnswer(oldObj.userAnswer) : false, isRight: oldObj ? oldObj.isRight : null, isComplete: oldObj ? oldObj.isComplete : false, @@ -763,7 +750,7 @@ // 题干富文本处理 if (questionObj.stemStyle == 'RichText') { // questionObj.option.txt = '' questionObj.stem.stemTxt = questionObj.stem.stemTxt.replace(/\<img/gi, '<img class="stem-rich-img"').replace(/\<p/gi, '<p class="stem-rich-p"') questionObj.stem.stemTxt = questionObj.stem.stemTxt.replace(/\<img/gi, '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img" ').replace(/\<p/gi, '<p class="stem-rich-p"') } // 选项富文本处理 @@ -912,13 +899,11 @@ // 记录错题 app.MG.identity .setUserKey({ setKeyRequests: [ { domain: 'errorData', key: this.data.rootCmsItemId, value: JSON.stringify(this.data.errorList) } ] setKeyRequests: [{ domain: 'errorData', key: this.data.rootCmsItemId, value: JSON.stringify(this.data.errorList) }] }) .then((res) => { console.log(res) @@ -974,27 +959,23 @@ } app.MG.identity .setUserKey({ setKeyRequests: [ { domain: 'collectData', key: this.data.rootCmsItemId, value: JSON.stringify(this.data.collectList) } ] setKeyRequests: [{ domain: 'collectData', key: this.data.rootCmsItemId, value: JSON.stringify(this.data.collectList) }] }) .then((res) => { }) .then((res) => {}) }, // 处理答题数据 recordAnswerData() { this.data.cardList.push( { name: '客观题得分', score: this.data.subjectiveNum, path: this.data.productLinkPath, // infoList: [], // catalogName: '' } ) this.data.cardList.push({ name: '客观题得分', score: this.data.subjectiveNum, path: this.data.productLinkPath, // infoList: [], // catalogName: '' }) let setInfoData = { currentIndex: this.data.currentIndex, dataList: JSON.parse(JSON.stringify(this.data.cardList)) @@ -1021,15 +1002,13 @@ setAnswerInfo(data) { app.MG.identity .setUserKey({ setKeyRequests: [ { domain: 'answerData', key: this.data.productLinkPath, value: JSON.stringify(data) } ] setKeyRequests: [{ domain: 'answerData', key: this.data.productLinkPath, value: JSON.stringify(data) }] }) .then((res) => { }) .then((res) => {}) }, // 获取答题数据 getAnswerInfo(callback) { @@ -1066,8 +1045,7 @@ collectList: JSON.parse(res[0].value) }) // total.value = collectList.value.length } catch (error) { } } catch (error) {} if (this.data.collectList && this.data.collectList.length) { await this.getCollectDataList() } else { @@ -1076,8 +1054,8 @@ }) wx.showModal({ title: '提示', content: '收藏夹暂无数据',//editable如果为true,这就是输入框的内容 editable: false,//是否显示输入框 content: '收藏夹暂无数据', //editable如果为true,这就是输入框的内容 editable: false, //是否显示输入框 showCancel: false, success: (res) => { if (res.confirm) { @@ -1096,12 +1074,10 @@ async getCollectDataList() { let questionArr = [] this.setData({ cardList: [ { catalogName: '收藏夹', infoList: [] } ] cardList: [{ catalogName: '收藏夹', infoList: [] }] }) let query = { path: '*', @@ -1128,28 +1104,21 @@ const questionObj = { number: index + 1, // 题号 id: item.id, stem: item.Embedded_QuestionBank_QuestionType == 'completion' ? JSON.parse(item.Embedded_QuestionBank_Stem) .stemTxt.replaceAll('<vacancy>', ',input,') .split(',') : JSON.parse(item.Embedded_QuestionBank_Stem), // 题干 stem: item.Embedded_QuestionBank_QuestionType == 'completion' ? JSON.parse(item.Embedded_QuestionBank_Stem) .stemTxt.replaceAll('<vacancy>', ',input,') .split(',') : JSON.parse(item.Embedded_QuestionBank_Stem), // 题干 answer: item.Embedded_QuestionBank_Answer, // 答案 option: item.Embedded_QuestionBank_Option ? JSON.parse(item.Embedded_QuestionBank_Option) : '', // 选择题选项 option: item.Embedded_QuestionBank_Option ? JSON.parse(item.Embedded_QuestionBank_Option) : '', // 选择题选项 analysisCon: item.Embedded_QuestionBank_AnalysisCon, // 解析 questionType: item.Embedded_QuestionBank_QuestionType, // 题型 optionStyle: item.Embedded_QuestionBank_OptionStyle, // 选项显示类型 stemStyle: item.Embedded_QuestionBank_StemStyle, // 题干显示类型 difficulty: item.Embedded_QuestionBank_Difficulty ? 4 - item.Embedded_QuestionBank_Difficulty : 0, // 难度等级 userAnswer: item.Embedded_QuestionBank_QuestionType == 'completion' || item.Embedded_QuestionBank_QuestionType == 'multipleChoice' ? [] : '', difficulty: item.Embedded_QuestionBank_Difficulty ? 4 - item.Embedded_QuestionBank_Difficulty : 0, // 难度等级 userAnswer: item.Embedded_QuestionBank_QuestionType == 'completion' || item.Embedded_QuestionBank_QuestionType == 'multipleChoice' ? [] : '', isSubmit: false, // 查看解析 isRight: null, // 是否正确 isComplete: false, @@ -1224,8 +1193,7 @@ this.setData({ errorList: JSON.parse(res[0].value) }) } catch (error) { } } catch (error) {} if (this.data.errorList && this.data.errorList.length) { this.getErrorDataList() } else { @@ -1234,8 +1202,8 @@ }) wx.showModal({ title: '提示', content: '错题集暂无数据',//editable如果为true,这就是输入框的内容 editable: false,//是否显示输入框 content: '错题集暂无数据', //editable如果为true,这就是输入框的内容 editable: false, //是否显示输入框 showCancel: false, success: (res) => { if (res.confirm) { @@ -1252,12 +1220,10 @@ // 获取错题集 async getErrorDataList() { this.setData({ cardList: [ { catalogName: '错题集', infoList: [] } ] cardList: [{ catalogName: '错题集', infoList: [] }] }) let query = { path: '*', @@ -1284,28 +1250,21 @@ const questionObj = { number: index + 1, // 题号 id: item.id, stem: item.Embedded_QuestionBank_QuestionType == 'completion' ? JSON.parse(item.Embedded_QuestionBank_Stem) .stemTxt.replaceAll('<vacancy>', ',input,') .split(',') : JSON.parse(item.Embedded_QuestionBank_Stem), // 题干 stem: item.Embedded_QuestionBank_QuestionType == 'completion' ? JSON.parse(item.Embedded_QuestionBank_Stem) .stemTxt.replaceAll('<vacancy>', ',input,') .split(',') : JSON.parse(item.Embedded_QuestionBank_Stem), // 题干 answer: item.Embedded_QuestionBank_Answer, // 答案 option: item.Embedded_QuestionBank_Option ? JSON.parse(item.Embedded_QuestionBank_Option) : '', // 选择题选项 option: item.Embedded_QuestionBank_Option ? JSON.parse(item.Embedded_QuestionBank_Option) : '', // 选择题选项 analysisCon: item.Embedded_QuestionBank_AnalysisCon, // 解析 questionType: item.Embedded_QuestionBank_QuestionType, // 题型 optionStyle: item.Embedded_QuestionBank_OptionStyle, // 选项显示类型 stemStyle: item.Embedded_QuestionBank_StemStyle, // 题干显示类型 difficulty: item.Embedded_QuestionBank_Difficulty ? 4 - item.Embedded_QuestionBank_Difficulty : 0, // 难度等级 userAnswer: item.Embedded_QuestionBank_QuestionType == 'completion' || item.Embedded_QuestionBank_QuestionType == 'multipleChoice' ? [] : '', difficulty: item.Embedded_QuestionBank_Difficulty ? 4 - item.Embedded_QuestionBank_Difficulty : 0, // 难度等级 userAnswer: item.Embedded_QuestionBank_QuestionType == 'completion' || item.Embedded_QuestionBank_QuestionType == 'multipleChoice' ? [] : '', isSubmit: false, // 查看解析 isRight: null, // 是否正确 isComplete: false, @@ -1400,7 +1359,10 @@ // 获取必含题目 let list = item.cmsItemList.map((idItem) => { itemIds.push(idItem.id + '') questionIds.push({ id: idItem.id + '', score: idItem.score }) questionIds.push({ id: idItem.id + '', score: idItem.score }) numberIndex++ return { number: numberIndex, @@ -1414,7 +1376,10 @@ const extractItem = item.generatorResultList[i] let extractItemList = extractItem.cmsItemList.map((extractCmsItem) => { itemIds.push(extractCmsItem.id + '') questionIds.push({ id: extractCmsItem.id + '', score: extractCmsItem.score }) questionIds.push({ id: extractCmsItem.id + '', score: extractCmsItem.score }) numberIndex++ return { number: numberIndex, @@ -1491,29 +1456,22 @@ // number: pathitem.infoList.find(infoItem => infoItem.itemId == item.id).number, id: item.id, score: pathitem.infoList.find(infoItem => infoItem.id == item.id).score, stem: item.Embedded_QuestionBank_QuestionType == 'completion' ? JSON.parse(item.Embedded_QuestionBank_Stem) .stemTxt.replaceAll('<vacancy>', ',input,') .split(',') : JSON.parse(item.Embedded_QuestionBank_Stem), // 题干 stem: item.Embedded_QuestionBank_QuestionType == 'completion' ? JSON.parse(item.Embedded_QuestionBank_Stem) .stemTxt.replaceAll('<vacancy>', ',input,') .split(',') : JSON.parse(item.Embedded_QuestionBank_Stem), // 题干 answer: item.Embedded_QuestionBank_Answer, // 答案 option: item.Embedded_QuestionBank_Option ? JSON.parse(item.Embedded_QuestionBank_Option) : '', // 选择题选项 option: item.Embedded_QuestionBank_Option ? JSON.parse(item.Embedded_QuestionBank_Option) : '', // 选择题选项 analysisCon: item.Embedded_QuestionBank_AnalysisCon, // 解析 questionType: item.Embedded_QuestionBank_QuestionType, // 题型 optionStyle: item.Embedded_QuestionBank_OptionStyle, // 选项显示类型 stemStyle: item.Embedded_QuestionBank_StemStyle, // 题干显示类型 difficulty: item.Embedded_QuestionBank_Difficulty ? 4 - item.Embedded_QuestionBank_Difficulty : 0, // 难度等级 userAnswer: oldObj ? oldObj.answer : item.Embedded_QuestionBank_QuestionType == 'completion' || item.Embedded_QuestionBank_QuestionType == 'multipleChoice' ? [] : '', difficulty: item.Embedded_QuestionBank_Difficulty ? 4 - item.Embedded_QuestionBank_Difficulty : 0, // 难度等级 userAnswer: oldObj ? oldObj.answer : item.Embedded_QuestionBank_QuestionType == 'completion' || item.Embedded_QuestionBank_QuestionType == 'multipleChoice' ? [] : '', isUserAnswer: oldObj ? this.isHaveAnswer(oldObj.userAnswer) : false, isRight: oldObj ? oldObj.isRight : null, // isComplete: oldObj ? oldObj.isComplete : false, @@ -1550,7 +1508,7 @@ // 题干富文本处理 if (questionObj.stemStyle == 'RichText') { // questionObj.option.txt = '' questionObj.stem.stemTxt = questionObj.stem.stemTxt.replace(/\<img/gi, '<img class="stem-rich-img"') questionObj.stem.stemTxt = questionObj.stem.stemTxt.replace(/\<img/gi, '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img"') } // 选项富文本处理 if (questionObj.optionStyle == 'RichText' && (questionObj.questionType == 'singleChoice' || questionObj.questionType == 'judge' || questionObj.questionType == 'multipleChoice')) { @@ -1617,26 +1575,22 @@ // 记录购买组卷时间 setMockInfo(data) { app.MG.identity.setUserKey({ setKeyRequests: [ { domain: 'mockData', key: this.data.bookId + '', value: JSON.stringify(data) } ] setKeyRequests: [{ domain: 'mockData', key: this.data.bookId + '', value: JSON.stringify(data) }] }) }, // 记录组卷题目列表 saveMockQuestionList(data) { app.MG.identity .setUserKey({ setKeyRequests: [ { domain: 'mockQuestionData', key: this.data.uuid, value: JSON.stringify(data) } ] setKeyRequests: [{ domain: 'mockQuestionData', key: this.data.uuid, value: JSON.stringify(data) }] }) .then((res) => { console.log('模考题目列表已记录') @@ -1710,17 +1664,15 @@ // app.MG.identity .setUserKey({ setKeyRequests: [ { domain: 'mockAnswerData', key: this.data.uuid, value: JSON.stringify({ currentIndex: this.data.currentIndex, time: this.data.countdownTime, answerData: saveData }) } ] setKeyRequests: [{ domain: 'mockAnswerData', key: this.data.uuid, value: JSON.stringify({ currentIndex: this.data.currentIndex, time: this.data.countdownTime, answerData: saveData }) }] }) .then((res) => { this.setData({ packageBookService/pages/bookServices/examination/questionList/index.json
@@ -10,6 +10,7 @@ "t-checkbox": "tdesign-miniprogram/checkbox/checkbox", "t-checkbox-group": "tdesign-miniprogram/checkbox-group/checkbox-group", "t-textarea": "tdesign-miniprogram/textarea/textarea", "t-empty": "tdesign-miniprogram/empty/empty" "t-empty": "tdesign-miniprogram/empty/empty", "mp-html": "mp-html" } } packageBookService/pages/bookServices/examination/questionList/index.wxml
@@ -30,30 +30,25 @@ <text>{{item.number}}.</text> <!-- 仅文字 --> <view class="title-content" wx:if="{{item.stemStyle == 'Txt' && item.questionType != 'completion'}}" >{{item.stem.stemTxt}}</view > <!-- 仅图片 --> <view wx:elif="{{item.stemStyle == 'Image'}}"> <t-image src="{{item.stem.stemImage}}" /> <view wx:elif="{{item.stemStyle == 'Image'}}" class="title-content"> <image src="{{item.stem.stemImage}}" mode="aspectFit" /> </view> <!-- 图片加文字 --> <view wx:elif="{{item.stemStyle == 'TxtAndImage'}}" class="title-TxtAndImage" class="title-content" > <text>{{item.stem.stemTxt}}</text> <t-image src="{{item.stem.stemImage}}" /> <view>{{item.stem.stemTxt}}</view> <image src="{{item.stem.stemImage}}" mode="aspectFit" /> </view> <!-- 富文本 --> <view wx:elif="{{item.stemStyle == 'RichText'}} " class="title-RichText" > <rich-text nodes="{{item.stem.stemTxt}}" style="height: 100%" ></rich-text> <view wx:elif="{{item.stemStyle == 'RichText'}} " class="title-content"> <mp-html content="{{item.stem.stemTxt}}" /> </view> <!-- 填空题 --> <view wx:if="{{item.questionType == 'completion'}}"> @@ -119,7 +114,7 @@ <!-- 仅图片 --> <view wx:if="{{item.optionStyle == 'Image'}}" class="fl-center"> <text>{{contentItem.value}}、</text> <t-image src="{{contentItem.img}}" /> <image src="{{contentItem.img}}" mode="aspectFit" /> </view> <!-- 文字加图片 --> <view @@ -127,8 +122,9 @@ class="fl-center" > <text>{{contentItem.value}}、</text> <text>{{contentItem.txt}}</text> <t-image src="{{contentItem.img}}" /> <text class="radio-textimg">{{contentItem.txt}}</text> <image src="{{contentItem.img}}" mode="aspectFit" /> </view> <!-- 富文本 --> <view @@ -174,7 +170,7 @@ <t-checkbox block="{{false}}" value="{{contentItem.value}}" style="background-color:{{isNight ? '#222' :'#fff'}}; " style="background-color:{{isNight ? '#222' :'#fff'}}; display: flex; align-items: center;" > <!-- 仅文字 --> <text @@ -188,7 +184,7 @@ style="color:{{ isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 32}}rpx;" >{{contentItem.value}}、</text > <t-image src="{{contentItem.img}}" /> <image src="{{contentItem.img}}" mode="aspectFit" /> </view> <!-- 文字加图片 --> <view @@ -203,10 +199,17 @@ style="color:{{ isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 32}}rpx;" >{{contentItem.txt}}</text > <t-image src="{{contentItem.img}}" /> <image src="{{contentItem.img}}" wx:if="{{contentItem.img}}" mode="aspectFit" /> </view> <!-- 富文本 --> <view wx:if="{{item.optionStyle == 'RichText'}}"> <view wx:if="{{item.optionStyle == 'RichText'}}" class="check-rich-box" > <text>{{contentItem.value}}、</text> <rich-text nodes="{{contentItem.txt}}" packageBookService/pages/bookServices/examination/questionList/index.wxss
@@ -1,7 +1,7 @@ /* pages/bookServices/examination/questionList/index.wxss */ .question-list { width: 95%; height: 85%; height: calc(100vh - 300px); padding: 20rpx; background-color: #ffffff; @@ -12,6 +12,10 @@ .question-title { font-size: 28rpx; margin-bottom: 20rpx; } .title-content { margin-left: 10rpx; } .title-name { @@ -52,6 +56,10 @@ background-color: #F9F9F9; } .radio-item text { height: min-content; } .night { background-color: #000; color: #ffffff; @@ -70,17 +78,10 @@ } .question-stem image { margin-left: 20rpx; width: 300rpx; object-fit: contain; height: 200rpx; } .title-RichText img { width: 300rpx; height: 200rpx; } .question-answer image { margin: 10rpx 0 10rpx 10rpx; @@ -226,9 +227,24 @@ .judge-rich-box { display: flex; align-items: center; } .t-checkbox { display: flex; align-items: center; } .check-rich-box { display: flex; align-items: center; } .check-rich-box text { height: min-content; } .radio-textimg { display: inline-block; width: calc(100% - 90rpx); } packageBookService/pages/bookServices/list/index.js
@@ -53,6 +53,7 @@ loading: false, noData: false, showDropdown: false, isRequesting: false, }, /** * 生命周期函数--监听页面加载 @@ -143,11 +144,13 @@ onReachBottom(e) { const flag = this.data.bookList.length < this.data.pageCount.total if (flag) { this.setData({ isMore: true, "pageCount.page": this.data.pageCount.page + 1 }) this.getBookList(this.data.path) if (!this.data.isRequesting) { this.setData({ isMore: true, "pageCount.page": this.data.pageCount.page + 1 }) this.getBookList(this.data.path) } } else { this.setData({ isMore: true, @@ -243,7 +246,7 @@ refCodes: [type], }; app.MG.store.getProductTypeField(query).then((res) => { array = JSON.parse(res[0].config).option; array = JSON.parse(res[0].config).option.filter(item => item.value == this.data.assortCheck.code); for (let index = 0; index < array.length; index++) { const element = array[index]; if (element.child) { @@ -281,9 +284,13 @@ }, // 获取图书列表 getBookList(path) { if (this.data.isRequesting) { return false; } this.setData({ loading: true, noData: false noData: false, isRequesting: true }) let sort; let pathObj = {}; @@ -342,12 +349,23 @@ bookList: res.datas, enable: false, "pageCount.total": res.total, loading: false loading: false, isRequesting: false }); if (!res.datas.length) { this.setData({ noData: true, }) if (!this.data.pathList.length) { // 未选择二级分类,且无图书 this.setData({ disabledSecondList: true }) } else { this.setData({ disabledSecondList: false }) } } }); }, packageDomain/pages/resourceDetails/myAudio/index.wxml
@@ -1,17 +1,21 @@ <view style="width: 100%; height: {{barHeight}}px; "></view> <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;"> <view> <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> </view> <view class="navbar-title">资源详情-音频</view> </view> <view class="audioPlayerBox"> <view class="audioBackground" style="background-image: url('http://182.92.203.7:3007/jsek/website/image/video-bg.png');"> <view class="audioBackground" style="background-image: url('http://182.92.203.7:3007/jsek/website/image/video-bg.png');" > <image src="/static/images/resourceDetailsMyAudio/cd.png" alt="" /> </view> <!-- 视频播放的按钮 --> @@ -23,8 +27,11 @@ </view> --> <!-- 暂停播放 --> <view class="audioIconBox color" style="margin-left: 30rpx; margin-right: 10rpx;"> <view wx:if="{{!isplay}}" bind:tap='play'> <view class="audioIconBox color" style="margin-left: 30rpx; margin-right: 10rpx" > <view wx:if="{{!isplay}}" bind:tap="play"> <t-icon name="play-circle-stroke" size="24" /> </view> <view wx:else bind:tap="stop" class="pauseCircleBox"> @@ -32,7 +39,14 @@ <image src="/static/images/resourceDetailsMyAudio/zanting@2x.png" mode="" /> </view> </view> <slider style="width: 300rpx;" activeColor='#FF6C00' class="mp-slider-bar" block-size="16" value="{{myAudioPos}}" bindchange="hanle_slider_change"></slider> <slider style="width: 300rpx" activeColor="#FF6C00" class="mp-slider-bar" block-size="16" value="{{myAudioPos}}" bindchange="hanle_slider_change" ></slider> <!-- 右切换 --> <!-- <view class="rightSwitchBox color" bind:tap="onRightSwitch"> <t-icon name="next" size="24" /> @@ -40,24 +54,53 @@ <!-- 时间 --> <view class="current-time color">{{myAudioCurrent}} </view> <view class="color" style="margin: 0 10rpx;">/</view> <view class="color" style="margin: 0 10rpx">/</view> <view class="duration-time color"> {{myAudioDuration}} </view> <!-- bind:tap="onSpeed" --> <view class="publicBtn color"> <view class="publicText" bind:tap="toggleDropdown"> <view> {{"x "+speed}} </view> <t-icon style="margin-top: 10rpx;" wx:if="{{showDropdown}}" name="caret-up-small" size="14" bind:click="onIconTap" /> <t-icon style="margin-top: 10rpx;" wx:else name="caret-down-small" size="14" bind:click="onIconTap" /> <view> {{"x "+speed}} </view> <t-icon style="margin-top: 10rpx" wx:if="{{showDropdown}}" name="caret-up-small" size="14" bind:click="onIconTap" /> <t-icon style="margin-top: 10rpx" wx:else name="caret-down-small" size="14" bind:click="onIconTap" /> </view> <view class="multipleBox" wx:if="{{showDropdown}}"> <view wx:if="{{speed != 0.5}}" style="margin: 5rpx 0;" bind:tap="smallSpeed">x0.5</view> <view wx:if="{{speed != 1}}" style="margin: 5rpx 0;" bind:tap="smallSpeeDmultiple">x1</view> <view wx:if="{{speed != 1.5}}" style="margin: 5rpx 0;" bind:tap="centreSpeed">x1.5</view> <view wx:if="{{speed != 2}}" style="margin: 5rpx 0;" bind:tap="bigSpeed">x2</view> <view wx:if="{{speed != 0.5}}" style="margin: 5rpx 0" bind:tap="smallSpeed" >x0.5</view > <view wx:if="{{speed != 1}}" style="margin: 5rpx 0" bind:tap="smallSpeeDmultiple" >x1</view > <view wx:if="{{speed != 1.5}}" style="margin: 5rpx 0" bind:tap="centreSpeed" >x1.5</view > <view wx:if="{{speed != 2}}" style="margin: 5rpx 0" bind:tap="bigSpeed" >x2</view > </view> </view> </view> @@ -67,14 +110,36 @@ <!-- 标题 --> <view class="titleBox">{{titleName}}</view> <view class="contentBox"> <t-tabs defaultValue="{{0}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel"> <t-tabs defaultValue="{{0}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel" > <!-- 资源列表 --> <t-tab-panel label="资源列表" value="0" style="{{tabPanelstyle}}" style="width: 750rpx;"> <t-tab-panel label="资源列表" value="0" style="{{tabPanelstyle}}" style="width: 750rpx" > <view class="wrapper"> <t-collapse value="{{activeValues}}" bind:change="handleChange"> <t-collapse-panel header="{{parentName}}" value="{{0}}" expandIcon> <view class="detailsName" wx:for="{{threeLeveData}}" wx:key="index" wx:for-item="item" wx:for-index="index" bind:tap="onVideo" data-item="{{item}}" data-index="{{index}}"> <view style="color: {{selectedId == index ? '#ff6c00' : '#000'}}">{{item.name}}</view> <view class="detailsName" wx:for="{{threeLeveData}}" wx:key="index" wx:for-item="item" wx:for-index="index" bind:tap="onVideo" data-item="{{item}}" data-index="{{index}}" > <view style="color: {{selectedId == index ? '#ff6c00' : '#000'}}" >{{item.name}}</view > </view> </t-collapse-panel> </t-collapse> @@ -88,9 +153,16 @@ <t-empty icon="folder-open" description="暂无数据" /> </view> <t-collapse-panel value="{{item.id}}" expandIcon wx:for="{{noteList}}"> <t-collapse-panel value="{{item.id}}" expandIcon wx:for="{{noteList}}" > <view slot="header" class="collapse-header"> <t-image class="note-icon" src="/static/images/bookService/detail/note-icon.png"></t-image> <t-image class="note-icon" src="/static/images/bookService/detail/note-icon.png" ></t-image> <view class="header-name">{{titleName}}</view> </view> <view> @@ -98,9 +170,19 @@ <view class="note-bottom"> <view class="note-time">{{item.createDate}}</view> <view class="bottom-btn"> <t-image src="/static/images/bookService/detail/compliceHover.png" class="complice" bind:tap="editNote" data-note="{{item}}"></t-image> <t-image src="/static/images/bookService/detail/compliceHover.png" class="complice" bind:tap="editNote" data-note="{{item}}" ></t-image> <view></view> <t-image src="/static/images/bookService/detail/deleteHover.png" class="delete" bind:tap="deleteNote" data-id="{{item.id}}"></t-image> <t-image src="/static/images/bookService/detail/deleteHover.png" class="delete" bind:tap="deleteNote" data-id="{{item.id}}" ></t-image> </view> </view> </view> @@ -118,33 +200,63 @@ </view> </view> <!-- 记笔记弹窗 --> <t-popup visible="{{dialogKey}}" bind:visible-change="onVisibleChange" placement="center"> <t-popup visible="{{dialogKey}}" bind:visible-change="onVisibleChange" placement="center" > <view class="popup"> <view slot="title"> <view class="title-text" wx:if="{{!flag}}"> <text class="note-title">{{titleName}}</text> <t-image src="/static/images/bookService/detail/edit.png" class="edit-icon" bind:tap="changeTitle" data-value="{{true}}"></t-image> <t-image src="/static/images/bookService/detail/edit.png" class="edit-icon" bind:tap="changeTitle" data-value="{{true}}" ></t-image> </view> <view wx:else> <t-input value="{{titleName}}" style="{{inputStyle}}" data-value="{{false}}" bind:enter="changeTitle" bind:blur="changeTitle" maxlength="{{50}}" bind:change="inputChange"></t-input> <t-input value="{{titleName}}" style="{{inputStyle}}" data-value="{{false}}" bind:enter="changeTitle" bind:blur="changeTitle" maxlength="{{50}}" bind:change="inputChange" ></t-input> </view> </view> <view slot='content'> <view slot="content"> <view class="textarea-example"> <text class="textarea-example__label">内容:</text> <t-textarea value="{{textvalue}}" t-class="external-class" placeholder="请输入文字" bordered maxlength="500" disableDefaultPadding="{{true}}" indicator style="{{inputStyle}}" bind:change="textareaChange" /> <t-textarea value="{{textvalue}}" t-class="external-class" placeholder="请输入文字" bordered maxlength="500" disableDefaultPadding="{{true}}" indicator style="{{inputStyle}}" bind:change="textareaChange" /> </view> <view class="submit-btn"> <t-button theme="primary" size="large" block bind:tap="confirmSuggest">提交</t-button> <t-button theme="primary" size="large" block bind:tap="confirmSuggest" >提交</t-button > </view> </view> </view> <t-icon t-class="close-btn" name="close-circle" size="32" color="#fff" bind:tap="closeDialog" /> </t-popup> <t-icon t-class="close-btn" name="close-circle" size="32" color="#fff" bind:tap="closeDialog" /> </t-popup>