Merge refs/remotes/origin/master into refs/heads/master
| | |
| | | // 做完了且加入了班级,提交到message |
| | | if (this.data.classList.length && this.data.joinGroup) { |
| | | this.data.classList.forEach(item => { |
| | | if (item.linkProductDto.product.id == this.data.bookId) |
| | | if (item.linkProductDto.product.id == this.data.bookId && item.topicId) |
| | | this.newTopicMessage(item.topicId) |
| | | }) |
| | | this.setinteractionInfo() |
| | |
| | | </view> |
| | | </view> |
| | | <!-- 仅文字 --> |
| | | <view class="title-content text-space" wx:elif="{{item.stemStyle == 'Txt' && item.questionType != 'completion'}}">{{item.stem.stemTxt}}(答案仅自己可见)</view> |
| | | <view class="title-content text-space" wx:elif="{{item.stemStyle == 'Txt' && item.questionType != 'completion'}}">{{item.stem.stemTxt}}</view> |
| | | <!-- 仅图片 --> |
| | | <view wx:elif="{{item.stemStyle == 'Image'}}" class="title-content"> |
| | | <image src="{{item.stem.stemImage}}" mode="aspectFit" /> |
| | |
| | | var localData = { |
| | | "list": [{ |
| | | "name": "测测你的生活品质", |
| | | "title": "请仔细阅读以下问题,凭你的第一感觉回答。请选择与你相符的答案,即使你感到不太确定,也要回答每个问题。", |
| | | "title": "请仔细阅读以下问题,凭你的第一感觉回答。请选择与你相符的答案,即使你感到不太确定,也要回答每个问题。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | } |
| | | ] |
| | | ], |
| | | "list": [ |
| | | { |
| | | "list": [{ |
| | | "analysisCon": "略", |
| | | "id": "0C85D525", |
| | | "optionIndex": 0, |
| | |
| | | }, |
| | | { |
| | | "name": "身体症状问卷", |
| | | "title": "下面是与心理因素相关的身体症状列表,请根据自己上一周的情况,在相应的位置上画圈,看看工作量与身体症状之间是否存在联系。", |
| | | "title": "下面是与心理因素相关的身体症状列表,请根据自己上一周的情况,在相应的位置上画圈,看看工作量与身体症状之间是否存在联系。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | }, |
| | | { |
| | | "name": "一般自我效能感量表", |
| | | "title": "<p>一般自我效能感量表(general self-efficacyscale,GSES)最早的德文版是由柏林自由大学的临床和健康心理学家施瓦泽(Schwarzer)教授及其同事于1981年编制完成的,开始共有20个项目,后来改进为10个项目。目前该量表在国际上被广泛使用。该量表的中文版最早由张建新和施瓦泽于1995年在中国香港一年级大学生中使用。中文版本已被证明具有良好的信度和效度。</p><p>以下10个句子都是关于你平时对自己的一般看法,请你根据自己的实际情况,选择合适的选项。“1”表示完全不正确。“2”表示有点正确,“3”表示多数正确,“4”表示完全正确。答案没有对错之分,对每一个句子无须多考虑。</p>", |
| | | "title": "<p>以下10个句子都是关于你平时对自己的一般看法,请你根据自己的实际情况,选择合适的选项。“1”表示完全不正确。“2”表示有点正确,“3”表示多数正确,“4”表示完全正确。答案没有对错之分,对每一个句子无须多考虑。(答案仅自己可见)</p>", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | }, |
| | | { |
| | | "name": "学习动力自我诊断测试", |
| | | "title": "这个量表主要为了帮助你了解自己在学习动机、学习兴趣、学习目标上是否存在困扰,共20个题目。请你根据自己的情况,实事求是地对每个题目做“是”或“否”的回答。", |
| | | "title": "这个量表主要为了帮助你了解自己在学习动机、学习兴趣、学习目标上是否存在困扰,共20个题目。请你根据自己的情况,实事求是地对每个题目做“是”或“否”的回答。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | }, |
| | | { |
| | | "name": "人际关系综合诊断表", |
| | | "title": "本量表共28个问题,每个问题做“是”或“否”回答。请你认真完成,然后参照计分及分析方法,对测试结果做出解释。", |
| | | "title": "本量表共28个问题,每个问题做“是”或“否”回答。请你认真完成,然后参照计分及分析方法,对测试结果做出解释。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | }, |
| | | { |
| | | "name": "婚姻稳定性测试", |
| | | "title": "<p>你选择好终身伴侣了吗?你是怎样看待婚姻的呢?下面的婚姻稳定性测试可以帮你更好地预测未来婚姻的稳定性。</p><p>请仔细阅读每道题,选择符合你的答案。</p>", |
| | | "title": "<p>你选择好终身伴侣了吗?你是怎样看待婚姻的呢?下面的婚姻稳定性测试可以帮你更好地预测未来婚姻的稳定性。</p><p>请仔细阅读每道题,选择符合你的答案。(答案仅自己可见)</p>", |
| | | "fromType": "json", |
| | | "scoreRules": [{ |
| | | "index": "", |
| | |
| | | }, |
| | | { |
| | | "name": "你的恋爱心理是否成熟?", |
| | | "title": "请认真阅读以下各项,根据自己的真实情况作答。", |
| | | "title": "请认真阅读以下各项,根据自己的真实情况作答。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | } |
| | | ] |
| | | }], |
| | | "list": [ |
| | | { |
| | | "list": [{ |
| | | "analysisCon": "略", |
| | | "id": "3P1E1B001", |
| | | "optionStyle": "Txt", |
| | |
| | | }, |
| | | { |
| | | "name": "压力心理测试", |
| | | "title": "请回想一下自己在过去一个月内是否出现过下述情况。", |
| | | "title": "请回想一下自己在过去一个月内是否出现过下述情况。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | }, |
| | | { |
| | | "name": "抑郁自评量表(SDS)", |
| | | "title": "下面有20条文字,请仔细阅读每一条,把意思弄明白后根据您最近一星期的情况选择适当的选项。“A”表示没有或很少时间有,“B”表示小部分时间有,“C”表示相当多时间有,“D”表示绝大部分时间都有。", |
| | | "title": "下面有20条文字,请仔细阅读每一条,把意思弄明白后根据您最近一星期的情况选择适当的选项。“A”表示没有或很少时间有,“B”表示小部分时间有,“C”表示相当多时间有,“D”表示绝大部分时间都有。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | }], |
| | | "optionList": [ |
| | | [{ |
| | | "txt": "", |
| | | "txt": "没有或很少时间有", |
| | | "value": "A", |
| | | "score": 1 |
| | | }, |
| | | { |
| | | "txt": "", |
| | | "txt": "小部分时间有", |
| | | "value": "B", |
| | | "score": 2 |
| | | }, |
| | | { |
| | | "txt": "", |
| | | "txt": "相当多时间有", |
| | | "value": "C", |
| | | "score": 3 |
| | | }, |
| | | { |
| | | "txt": "", |
| | | "txt": "绝大部分时间都有 ", |
| | | "value": "D", |
| | | "score": 4 |
| | | } |
| | | ], |
| | | [{ |
| | | "txt": "", |
| | | "txt": "没有或很少时间有", |
| | | "value": "A", |
| | | "score": 4 |
| | | }, |
| | | { |
| | | "txt": "", |
| | | "txt": "小部分时间有", |
| | | "value": "B", |
| | | "score": 3 |
| | | }, |
| | | { |
| | | "txt": "", |
| | | "txt": "相当多时间有", |
| | | "value": "C", |
| | | "score": 2 |
| | | }, |
| | | { |
| | | "txt": "", |
| | | "txt": "绝大部分时间都有", |
| | | "value": "D", |
| | | "score": 1 |
| | | } |
| | |
| | | }, |
| | | { |
| | | "name": "了解你的职业化程度", |
| | | "title": "职业化指一种工作状态的标准化、规范化和制度化,即在合适的时间、地点用合适的方式完成工作。职业化体现了一个人能准确地扮演好自己的职业角色,尽职尽责地完成自己的工作。作为一名即将走进职场的大学生,你的职业化程度有多高呢?请完成下列测试。", |
| | | "title": "职业化指一种工作状态的标准化、规范化和制度化,即在合适的时间、地点用合适的方式完成工作。职业化体现了一个人能准确地扮演好自己的职业角色,尽职尽责地完成自己的工作。作为一名即将走进职场的大学生,你的职业化程度有多高呢?请完成下列测试。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | }, |
| | | { |
| | | "name": "职业能力测试", |
| | | "title": "根据你的实际情况,对下面每种活动做出评定。", |
| | | "title": "根据你的实际情况,对下面每种活动做出评定。(答案仅自己可见)", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | }, |
| | | { |
| | | "name": "威廉斯创造力倾向量表", |
| | | "title": "<p>这是一份帮助你了解自己创造力的表单。如果你发现下列某些句子描述的情形很适合你,就选择“完全符合”,计3分;如果某些句子只是在部分时候适合你,则选择“部分符合”,计2分;如果某些句子对你来说根本是不可能的,则选择“完全不符”,计1分。</p><p>注意事项:每一题都要做,不要花太多时间去思考;所有题目都没有正确答案,凭你读完每一句的第一印象作答;虽然没有时间限制,但尽可能以较快的速度完成,越快越好;凭自己的真实感受作答。</p>", |
| | | "title": "<p>这是一份帮助你了解自己创造力的表单。每一题都要做,不要花太多时间去思考;所有题目都没有正确答案,凭你读完每一句的第一印象作答;虽然没有时间限制,但尽可能以较快的速度完成,越快越好;凭自己的真实感受作答。(答案仅自己可见)</p>", |
| | | "fromType": "json", |
| | | "scoreRules": [], |
| | | "scoreData": [{ |
| | |
| | | if (data) { |
| | | this.setData({ |
| | | userData: JSON.parse(data), |
| | | defaultCmsPath: this.properties.bookRefCode |
| | | defaultCmsPath: this.properties.bookRefCode != 'null' ? 'jsek_digitalTextbooks' : 'defaultGoodsStore3' |
| | | }) |
| | | } |
| | | this.getData() |
| | |
| | | <view class="questionInfo"> |
| | | <view class="questionCount"> |
| | | <text style="color: #ff6d00">{{ item.subList.length }}</text> |
| | | <text> /</text> |
| | | <text style="color: #67c23a"> {{ currentClass.memberCount }}</text> |
| | | <text style="margin-left: 20rpx;color: #999;font-size:24rpx">(已答/全部)</text> |
| | | <text style="margin-left: 20rpx;color: #999;font-size:24rpx">(已答人数)</text> |
| | | </view> |
| | | <view class="questionDate"> |
| | | {{item.updateDate}} |
| | |
| | | startTime: '', |
| | | endTime: '', |
| | | className: '', |
| | | isShow: "", |
| | | count: null, |
| | | classList: [], |
| | | searchKey: '', |
| | |
| | | // 打开选择日期 |
| | | openDateStart() { |
| | | this.setData({ |
| | | visibleStart: true |
| | | visibleStart: true, |
| | | isShow: 'none', |
| | | }) |
| | | }, |
| | | |
| | | openDateEnd() { |
| | | this.setData({ |
| | | visibleEnd: true |
| | | visibleEnd: true, |
| | | isShow: 'none' |
| | | }) |
| | | }, |
| | | |
| | |
| | | const dateStr = moment(value).format('YYYY-MM-DD') |
| | | this.setData({ |
| | | startTime: dateStr, |
| | | isShow: '' |
| | | }); |
| | | }, |
| | | |
| | |
| | | const dateStr = moment(value).format('YYYY-MM-DD') |
| | | this.setData({ |
| | | endTime: dateStr, |
| | | isShow: '' |
| | | }); |
| | | }, |
| | | |
| | |
| | | |
| | | // 申请提交班级 |
| | | submitClass() { |
| | | const bTime = moment(this.data.startTime).valueOf() |
| | | const eTime = moment(this.data.endTime).valueOf() |
| | | if (!this.data.className) { |
| | | wx.showToast({ |
| | | title: '请填写课程名称', |
| | |
| | | if (!this.data.startTime || !this.data.endTime) { |
| | | wx.showToast({ |
| | | title: '请选择班级有效期', |
| | | duration: 1000, |
| | | icon: 'none', |
| | | }) |
| | | return false |
| | | } |
| | | if (bTime && eTime && eTime < bTime) { |
| | | wx.showToast({ |
| | | title: '请选择班正确的班级有效期', |
| | | duration: 1000, |
| | | icon: 'none', |
| | | }) |
| | |
| | | wx.showToast({ |
| | | title: '申请开班出错', |
| | | duration: 1000, |
| | | icon: 'err', |
| | | icon: 'none', |
| | | }) |
| | | this.setData({ |
| | | visible: false |
| | |
| | | <view wx:if="{{!courseLoading}}"> |
| | | <view class="ID-State"> |
| | | <text class="ID">ID: {{detail.id}}</text> |
| | | <t-tag class="margin-16" size='large' wx:if="{{detail.applyState == 'WaitAudit'}}" variant="light" theme="warning">审核中</t-tag> |
| | | <t-tag class="margin-16" size='large' wx:if="{{detail.applyState == 'Reject'}}" variant="light" theme="danger">未通过</t-tag> |
| | | <t-tag class="margin-16" size='large' wx:if="{{detail.applyState == 'Normal'}}" variant="light" theme="success">使用中</t-tag> |
| | | <t-tag |
| | | class="margin-16" |
| | | size="large" |
| | | wx:if="{{detail.applyState == 'WaitAudit'}}" |
| | | variant="light" |
| | | theme="warning" |
| | | >审核中</t-tag |
| | | > |
| | | <t-tag |
| | | class="margin-16" |
| | | size="large" |
| | | wx:if="{{detail.applyState == 'Reject'}}" |
| | | variant="light" |
| | | theme="danger" |
| | | >未通过</t-tag |
| | | > |
| | | <t-tag |
| | | class="margin-16" |
| | | size="large" |
| | | wx:if="{{detail.applyState == 'Normal'}}" |
| | | variant="light" |
| | | theme="success" |
| | | >使用中</t-tag |
| | | > |
| | | </view> |
| | | <view class="statics"> |
| | | <view class="classCout"> |
| | |
| | | <text>作者:{{bookData.author}}</text> |
| | | <text>ISBN:{{bookData.isbn}}</text> |
| | | </view> |
| | | <image wx:if="{{bookData.icon}}" class="bookIcon" src="{{bookData.icon}}" mode="" /> |
| | | <image wx:else class="bookIcon" src="/static/images/default-book-img.png" mode="" /> |
| | | <image |
| | | wx:if="{{bookData.icon}}" |
| | | class="bookIcon" |
| | | src="{{bookData.icon}}" |
| | | mode="" |
| | | /> |
| | | <image |
| | | wx:else |
| | | class="bookIcon" |
| | | src="/static/images/default-book-img.png" |
| | | mode="" |
| | | /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <!-- 班级管理 --> |
| | | <view class="classBox" wx:else> |
| | | <view class="header"> |
| | | <t-search style="flex:1" value="{{searchKey}}" bind:clear="changeHandle" bind:submit="changeHandle" placeholder="搜索班级名称" clearable /> |
| | | <t-button bindtap="newClass" size="small" style="margin-left: 15rpx;">开班</t-button> |
| | | <t-search |
| | | style="flex: 1" |
| | | value="{{searchKey}}" |
| | | bind:clear="changeHandle" |
| | | bind:submit="changeHandle" |
| | | placeholder="搜索班级名称" |
| | | clearable |
| | | /> |
| | | <t-button bindtap="newClass" size="small" style="margin-left: 15rpx" |
| | | >开班</t-button |
| | | > |
| | | </view> |
| | | <view class="contentList" wx:if="{{classList.length > 0 && !classLoading}}"> |
| | | <scroll-view class="scroll" class="content" bind:scroll="onPageScroll" model:scroll-top="{{setScrollValue}}" scroll-y refresher-enabled="{{true}}" lower-threshold="{{80}}" refresher-threshold="{{80}}" refresher-default-style="none" refresher-triggered="{{triggered}}" bindrefresherpulling="{{refresh.onPulling}}" bindrefresherrefresh="onPullDownRefresh" bindscrolltolower="onReachBottom"> |
| | | <view |
| | | class="contentList" |
| | | wx:if="{{classList.length > 0 && !classLoading}}" |
| | | > |
| | | <scroll-view |
| | | class="scroll" |
| | | class="content" |
| | | bind:scroll="onPageScroll" |
| | | model:scroll-top="{{setScrollValue}}" |
| | | scroll-y |
| | | refresher-enabled="{{true}}" |
| | | lower-threshold="{{80}}" |
| | | refresher-threshold="{{80}}" |
| | | refresher-default-style="none" |
| | | refresher-triggered="{{triggered}}" |
| | | bindrefresherpulling="{{refresh.onPulling}}" |
| | | bindrefresherrefresh="onPullDownRefresh" |
| | | bindscrolltolower="onReachBottom" |
| | | > |
| | | <view slot="refresher" class="refresh-container"> |
| | | <view class="loading"> |
| | | <t-loading theme="circular" size="40rpx" text="正在刷新..." class="wrapper" /> |
| | | <t-loading |
| | | theme="circular" |
| | | size="40rpx" |
| | | text="正在刷新..." |
| | | class="wrapper" |
| | | /> |
| | | </view> |
| | | </view> |
| | | <view class="listClass" wx:for="{{classList}}" wx:key="index" data-class-id="{{item.id}}" data-item="{{item}}" bindtap="todetail"> |
| | | <view |
| | | class="listClass" |
| | | wx:for="{{classList}}" |
| | | wx:key="index" |
| | | data-class-id="{{item.id}}" |
| | | data-item="{{item}}" |
| | | bindtap="todetail" |
| | | > |
| | | <view class="titleBox"> |
| | | <text class="className">{{item.name}}</text> |
| | | <text class="classId" style="color: #999; font-size: 12px;"> ID: {{item.id}}</text> |
| | | <text class="classId" style="color: #999; font-size: 12px"> |
| | | ID: {{item.id}}</text |
| | | > |
| | | </view> |
| | | <view class="infoBox"> |
| | | <text class="classTag" wx:if="{{item.applyState == 'WaitAudit'}}" style="color: #ef9f29">状态: 审核中</text> |
| | | <text class="classTag" wx:if="{{item.applyState == 'Normal'}}" style="color: #1dbd11">状态: 进行中</text> |
| | | <text class="classTag" wx:if="{{item.applyState == 'Reject'}}" style="color: red">状态: 未通过</text> |
| | | <t-icon bindtap="delClass" data-del-id="{{item.id}}" class="delete" wx:if="{{item.applyState == 'Reject'}}" name="delete" color="red" size='18px' /> |
| | | <text |
| | | class="classTag" |
| | | wx:if="{{item.applyState == 'WaitAudit'}}" |
| | | style="color: #ef9f29" |
| | | >状态: 审核中</text |
| | | > |
| | | <text |
| | | class="classTag" |
| | | wx:if="{{item.applyState == 'Normal'}}" |
| | | style="color: #1dbd11" |
| | | >状态: 进行中</text |
| | | > |
| | | <text |
| | | class="classTag" |
| | | wx:if="{{item.applyState == 'Reject'}}" |
| | | style="color: red" |
| | | >状态: 未通过</text |
| | | > |
| | | <t-icon |
| | | bindtap="delClass" |
| | | data-del-id="{{item.id}}" |
| | | class="delete" |
| | | wx:if="{{item.applyState == 'Reject'}}" |
| | | name="delete" |
| | | color="red" |
| | | size="18px" |
| | | /> |
| | | <view wx:if="{{item.applyState == 'Reject'}}" class="reason"> |
| | | <text> 拒绝原因:</text> |
| | | <t-tag style="margin-left: 0;" bind:tap="showDialog" data-item="{{item}}" class="margin-16 replay" theme="danger">点击查看</t-tag> |
| | | <t-tag |
| | | style="margin-left: 0" |
| | | bind:tap="showDialog" |
| | | data-item="{{item}}" |
| | | class="margin-16 replay" |
| | | theme="danger" |
| | | >点击查看</t-tag |
| | | > |
| | | </view> |
| | | <!-- <text class="classTag" wx:if="{{item.applyState == 'Reject'}}" style="color: red">拒绝原因:{{ item.reason != '' ? item.reason : '-' }}</text> --> |
| | | <text class="classTag">班级人数: {{ item.memberCount }} / {{ item.maxUserCount }}</text> |
| | | <text class="classTag">有效期:{{ item.beginDate }} - {{ item.endDate }}</text> |
| | | <text class="classTag" |
| | | >班级人数: {{ item.memberCount }} / {{ item.maxUserCount |
| | | }}</text |
| | | > |
| | | <text class="classTag" |
| | | >有效期:{{ item.beginDate }} - {{ item.endDate }}</text |
| | | > |
| | | </view> |
| | | </view> |
| | | <view class="bottom-loading" wx:if="{{bottomLoading}}"> |
| | | <t-loading theme="circular" size="40rpx" text="加载中..." class="wrapper" /> |
| | | <t-loading |
| | | theme="circular" |
| | | size="40rpx" |
| | | text="加载中..." |
| | | class="wrapper" |
| | | /> |
| | | </view> |
| | | <view class="bottom-loading" style="color: #ccc;font-size: 28rpx;" wx:if="{{isMoreData}}"> |
| | | <view |
| | | class="bottom-loading" |
| | | style="color: #ccc; font-size: 28rpx" |
| | | wx:if="{{isMoreData}}" |
| | | > |
| | | <text>没有更多了</text> |
| | | </view> |
| | | </scroll-view> |
| | |
| | | <view class="classInfo"> |
| | | <view class="c-name"> |
| | | <text>班级名称</text> |
| | | <t-input value="{{className}}" bindchange="onCourseNameInput" borderless clearable placeholder="请输入班级名称" /> |
| | | <t-input |
| | | value="{{className}}" |
| | | bindchange="onCourseNameInput" |
| | | borderless |
| | | clearable |
| | | placeholder="请输入班级名称" |
| | | /> |
| | | </view> |
| | | <view class="c-desc"> |
| | | <text>班级人数</text> |
| | | <t-input value="{{count}}" bindchange="onCourseDescInput" borderless placeholder="请输入班级人数" /> |
| | | <t-input |
| | | value="{{count}}" |
| | | type="number" |
| | | bindchange="onCourseDescInput" |
| | | borderless |
| | | placeholder="请输入班级人数" |
| | | /> |
| | | </view> |
| | | <view class="c-date"> |
| | | <text>班级有效期</text> |
| | | <view class="dateBox"> |
| | | <view> |
| | | <t-input value="{{startTime}}" readonly borderless bindtap="openDateStart" placeholder="请选择开始时间" /> |
| | | <t-calendar visible="{{visibleStart}}" bind:confirm="handleConfirmStart" /> |
| | | <t-input |
| | | style="display:{{isShow}}" |
| | | value="{{startTime}}" |
| | | readonly |
| | | borderless |
| | | bindtap="openDateStart" |
| | | placeholder="请选择开始时间" |
| | | /> |
| | | <t-calendar |
| | | visible="{{visibleStart}}" |
| | | bind:confirm="handleConfirmStart" |
| | | /> |
| | | </view> |
| | | <view>~</view> |
| | | <view> |
| | | <t-input value="{{endTime}}" readonly borderless bindtap="openDateEnd" placeholder="请选择结束时间" /> |
| | | <t-calendar visible="{{visibleEnd}}" bind:confirm="handleConfirmEnd" /> |
| | | <t-input |
| | | value="{{endTime}}" |
| | | style="display:{{isShow}}" |
| | | readonly |
| | | borderless |
| | | bindtap="openDateEnd" |
| | | placeholder="请选择结束时间" |
| | | /> |
| | | <t-calendar |
| | | visible="{{visibleEnd}}" |
| | | bind:confirm="handleConfirmEnd" |
| | | /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="classSubmit"> |
| | | <t-button style="padding: 0 25px; margin:0 15px;" size="small" bindtap="cancle" variant="outline">取消</t-button> |
| | | <t-button style="padding: 0 25px; margin:0;" size="small" bindtap="submitClass">确认</t-button> |
| | | <t-button |
| | | style="padding: 0 25px; margin: 0 15px" |
| | | size="small" |
| | | bindtap="cancle" |
| | | variant="outline" |
| | | >取消</t-button |
| | | > |
| | | <t-button |
| | | style="padding: 0 25px; margin: 0" |
| | | size="small" |
| | | bindtap="submitClass" |
| | | >确认</t-button |
| | | > |
| | | </view> |
| | | </view> |
| | | </t-popup> |
| | | <t-dialog visible="{{showContentOnly}}" bind:confirm="closeDialog" close-on-overlay-click> |
| | | <view slot="content" class="reasonContent"> |
| | | {{reason}} |
| | | </view> |
| | | <view slot="confirm-btn" style="width: 100%;"> |
| | | <t-button style="color: #ff6d00;border-top: 1px solid #eee ;" variant="text" bindtap="closeDialog" size="large" block t-class="external-class">知道了</t-button> |
| | | <t-dialog |
| | | visible="{{showContentOnly}}" |
| | | bind:confirm="closeDialog" |
| | | close-on-overlay-click |
| | | > |
| | | <view slot="content" class="reasonContent"> {{reason}} </view> |
| | | <view slot="confirm-btn" style="width: 100%"> |
| | | <t-button |
| | | style="color: #ff6d00; border-top: 1px solid #eee" |
| | | variant="text" |
| | | bindtap="closeDialog" |
| | | size="large" |
| | | block |
| | | t-class="external-class" |
| | | >知道了</t-button |
| | | > |
| | | </view> |
| | | </t-dialog> |
| | | </view> |
| | | </view> |
| | | <view class="tabbar-bottom"> |
| | | <view class="{{tabVal == 'base'?'tab-pubItem activeTab':'tab-pubItem'}}" data-str="base" bindtap="tabActive"> |
| | | <view |
| | | class="{{tabVal == 'base'?'tab-pubItem activeTab':'tab-pubItem'}}" |
| | | data-str="base" |
| | | bindtap="tabActive" |
| | | > |
| | | <t-icon class="tabIcon" name="home" size="24px" /> |
| | | <text class="text">基本信息</text> |
| | | </view> |
| | | <view class="{{tabVal == 'class'?'tab-pubItem activeTab':'tab-pubItem'}}" data-str="class" bindtap="tabActive"> |
| | | <view |
| | | class="{{tabVal == 'class'?'tab-pubItem activeTab':'tab-pubItem'}}" |
| | | data-str="class" |
| | | bindtap="tabActive" |
| | | > |
| | | <t-icon class="tabIcon" name="file-setting" size="24px" /> |
| | | <text class="text">班级管理</text> |
| | | </view> |
| | |
| | | app.MG.edu |
| | | .updateCourse({ |
| | | courseId: this.data.currentCourse.id, |
| | | name: this.data.currentCourse.name, |
| | | description: this.data.currentCourse.desc |
| | | name: this.data.courseName, |
| | | description: this.data.courseDesc, |
| | | }) |
| | | .then((res) => { |
| | | app.MG.edu |
| | |
| | | }, |
| | | |
| | | // 获取教材详情 |
| | | async getBookDetail(shopId) { |
| | | async getBookDetail(shopId, path) { |
| | | let query = { |
| | | path: 'jsek_digitalTextbooks', |
| | | path, |
| | | queryType: '*', |
| | | productId: String(shopId), |
| | | storeInfo: 'jsek_digitalTextbooks', |
| | | storeInfo: path, |
| | | coverSize: { |
| | | height: 300, |
| | | width: 210 |
| | |
| | | classId, |
| | | item |
| | | } = e.currentTarget.dataset |
| | | const bookData = await this.getBookDetail(item.linkProductDto?.product?.id) |
| | | const bookRefCode = item.linkProductDto?.product?.refCode |
| | | const path = bookRefCode ? 'jsek_digitalTextbooks' : 'defaultGoodsStore3' |
| | | const bookData = await this.getBookDetail(item.linkProductDto?.product?.id, path) |
| | | if (item.userState == 'WaitValid' || item.userState == 'Reject') { |
| | | wx.showToast({ |
| | | title: item.userState == 'WaitValid' ? '审核中' : '未通过', |
| | |
| | | return false |
| | | } |
| | | wx.navigateTo({ |
| | | url: '/packageCourse/pages/teachClass/index?classId=' + classId + '&bookId=' + bookData.id + '&author=' + bookData.author + '&isbn=' + bookData.isbn + '&rootCmsItemId=' + bookData.rootCmsItemId, |
| | | url: '/packageCourse/pages/teachClass/index?classId=' + classId + '&bookId=' + bookData.id + '&author=' + bookData.author + '&isbn=' + bookData.isbn + '&rootCmsItemId=' + bookData.rootCmsItemId + '&bookRefCode=' + bookRefCode, |
| | | }) |
| | | }, |
| | | |
| | |
| | | <studentManage classId="{{classId}}" bookRefCode="{{defaultCmsPath}}" /> |
| | | </view> |
| | | <!-- 教学互动 --> |
| | | <view class="teachBox" wx:if="{{tabVal == 'teach'&& userData.role == 'Teacher'}}"> |
| | | <view class="teachBox" wx:if="{{tabVal == 'teach'}}"> |
| | | <Teach classId="{{classId}}" bookId="{{bookId}}" rootCmsItemId="{{rootCmsItemId}}" /> |
| | | </view> |
| | | </view> |
| | |
| | | <t-icon class="tabIcon" name="file-setting" size="24px" /> |
| | | <text class="text">学生管理</text> |
| | | </view> |
| | | <view wx:if="{{ userData.role == 'Teacher'}}" class="{{tabVal == 'teach'?'tab-pubItem activeTab':'tab-pubItem'}}" data-str="teach" bindtap="tabActive"> |
| | | <view class="{{tabVal == 'teach'?'tab-pubItem activeTab':'tab-pubItem'}}" data-str="teach" bindtap="tabActive"> |
| | | <t-icon class="tabIcon" name="system-setting" size="24px" /> |
| | | <text class="text">教学互动</text> |
| | | </view> |
| | |
| | | |
| | | if (item.saleMethod.type == 'createProductItemSaleMethod' || item.saleMethod.type == 'createProductFolderSaleMethod') { |
| | | if (item.linkCmsItems[0].refCode == 'questionBank') { |
| | | item.type = '云测试' |
| | | item.typeTxt = '云测试' |
| | | item.productType = '图书服务-云测试' |
| | | } else { |
| | | item.typeTxt = '云学习' |