packageBookService/pages/bookServices/detail/components/learnResource/learnResource.js
@@ -72,6 +72,14 @@ wx.navigateTo({ url: `/packageBookService/pages/bookServices/detail/components/learnTask/index?bookId=${this.properties.bookId}`, }) }, buyCloudLearnClass() { var myEventDetail = {} // detail对象,提供给事件监听函数 var myEventOption = { bubbles: true, composed: true } // 触发事件的选项 this.triggerEvent('buyCloudLearnClass', myEventDetail, myEventOption) } } }) packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxml
@@ -35,6 +35,7 @@ theme="primary" class="btn" style="height: 72rpx; font-size: 28rpx" bind:tap="buyCloudLearnClass" wx:if="{{isShowBuyCloundMenu}}" > <view slot="content" class="btn-content"> packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -233,8 +233,8 @@ // title: '暂未开售', // }) const buyList = learn.filter((citem) => this.properties.buyIds.includes(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').Id)) // 资源和本身都未购买 if (!buyList.length) { if (!buyList.length && learn.length) { // 资源和本身都未购买 且 父级或本身有销售方式 const itemSaleMethod = item.saleMethod && item.saleMethod.length ? item.saleMethod.find(citem => citem.SaleType == 'Normal') : undefined return wx.showToast({ icon: 'error', packageBookService/pages/bookServices/detail/index.js
@@ -1833,6 +1833,32 @@ }); } }, // 云学习全部购买 async buyCloudLearnClass() { const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning') debugger let query = { remarks: '云学习', requests: [{ saleMethodId: cloundMenu.saleMethod.find((eitem) => eitem.SaleType == 'Normal').Id, count: 1 }] } const initOrderRes = await app.MG.store.initOrder(query) // 检查订单号是否存在 if (initOrderRes.orderNumber) { // bookService: orderNumber.value, 少传这个 ,暂时不知道有什么用 wx.navigateTo({ url: `/pages/cart/paymentPage/index?&bookId=${this.data.bookDetail.id}&bookName=${this.data.bookDetail.name}&orderNumber=${initOrderRes.orderNumber}`, }); } else { // 订单号不存在,显示警告消息 wx.showToast({ icon: "error", title: "请重试", }); } }, // 云学习字段购买 async buyCloundMenu() { const cloundData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning') @@ -2541,6 +2567,11 @@ return childrenList }, uploadFile(e) { const userInfo = JSON.parse(wx.getStorageSync(app.config.userInfoKey)) if (userInfo.role != 'Teacher') return wx.showToast({ icon: 'error', title: '请先进行教师认证', }) this.setData({ dialogBox: true, isShowUp: true packageBookService/pages/bookServices/detail/index.wxml
@@ -257,6 +257,7 @@ successOrderNumber="{{successOrderNumber}}" isGoBuyResource="{{isGoBuyResource}}" isShowBuyCloundMenu="{{isShowBuyCloundMenu}}" bind:buyCloudLearnClass="buyCloudLearnClass" ></learn-resource> <tree packageDomain/pages/publickBookForm/index.js
@@ -83,7 +83,6 @@ scroll() { // 监听视图滚动,手动收起键盘 if (this.data.isKeyboard) { console.log(1); wx.hideKeyboard() } }, packageDomain/pages/teacherCertification/index.wxml
@@ -1,123 +1,246 @@ <view class="container" style="height:calc(100vh + {{keyboardHeight ? (keyboardHeight + 'px'):'0'}});padding-bottom:calc(180rpx + {{keyboardHeight ? 120 + 'px':0}}) "> <scroll-view class="scroll content" scroll-y> <view class="tips" wx:if="{{!skeletonLoding}}"> 仅限学校本课程任课教师申请;请上传有效在职教师工作证将有助于审核。 </view> <view class="page-body" wx:if="{{!skeletonLoding}}"> <view class=" baseInfoBox"> <view class="from-item"> <view class="label"> <text class="empty"></text>当前状态: </view> <view class="stateBox"> <text class="wait" wx:if="{{teacherInfo.state == 'WaitAudit'}}">等待审核</text> <text class="yes" wx:if="{{teacherInfo.state == 'Normal'}}">已认证</text> <text class="no" wx:if="{{teacherInfo.state == 'Reject'}}">已驳回</text> <text class="wait" wx:if="{{teacherInfo.state == ''}}">待认证</text> <view class="reasonTxt" bindtap="previewReason" wx:if="{{teacherInfo.state == 'Reject'}}">查看原因</view> </view> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>学校: </view> <view class="item-content"> <t-input placeholder="请输入学校" borderless value="{{teacherInfo.schoolName}}" disabled="{{!editState}}" bindchange="onSchoolNameInput" /> </view> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>真实姓名: </view> <view class="item-content"> <t-input placeholder="请输入真实姓名" borderless value="{{teacherInfo.fullName}}" disabled="{{!editState}}" bindchange="onFullNameInput" /> </view> </view> <view class="from-item"> <view class="label"> <text class="empty"></text>职称: </view> <view class="item-content state" wx:if="{{editState}}"> <t-cell arrow note="{{teachText}}" bind:click="onTeachPicker" /> <t-picker visible="{{teachVisible}}" value="{{teacherInfo.positionalTitle}}" title="选择职称" cancelBtn="取消" confirmBtn="确认" bindchange="onPickerChange" bindcancel="onPickerCancel"> <t-picker-item options="{{teachPosts}}" /> </t-picker> </view> <view class="item-content" wx:if="{{!editState}}"> <t-cell arrow note="{{teachText}}" /> </view> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>任教课程: </view> <view class="item-content"> <t-input placeholder="请输入任教课程" borderless value="{{teacherInfo.courseName}}" bindchange="onCourseNameInput" disabled="{{!editState}}" /> </view> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>手机号: </view> <view class="item-content"> <t-input placeholder="输入手机号码" borderless value="{{teacherInfo.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" disabled="{{!editState}}" /> </view> </view> <view class="from-item form-input-6"> <view class="label"> <text class="empty"></text>座机: </view> <view class="item-content"> <t-input placeholder="输入座机号" borderless value="{{teacherInfo.telphone}}" tips="{{telphoneError ? '座机号输入不正确' : ''}}" bindchange="onTelphoneInput" disabled="{{!editState}}" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-7" /> </view> </view> <view class="from-item form-input-7"> <view class="label"> <text class="icon">*</text>邮箱: </view> <view class="item-content"> <t-input placeholder="输入邮箱" borderless value="{{teacherInfo.email}}" tips="{{emailError ? '邮箱输入不正确' : ''}}" bindchange="onEmailInput" disabled="{{!editState}}" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-7" /> </view> </view> <view class="from-item form-input-8"> <view class="label"> <text class="icon">*</text>详细地址: </view> <view class="item-content"> <t-input placeholder="请输入详细地址" borderless value="{{teacherInfo.detailedAddress}}" bindchange="onAddressInput" disabled="{{!editState}}" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-8" /> </view> </view> </view> <view class="fileInfoBox"> <view class="from-item"> <view class="label"> <text class="icon">*</text>在职教师工作证: </view> <view class="imageBox"> <view class="weui-uploader"> <view class='pics' wx:for="{{imgPics}}" wx:for-item="item" wx:key="*this"> <image class='weui-uploader__img' src="{{item.url}}" data-index="{{index}}" mode="aspectFill" bindtap="previewImg"> <icon type='cancel' class="delete-btn" data-index="{{index}}" catchtap="deleteImg" wx:if="{{editState}}"></icon> </image> </view> <view class="tp_cont {{tj_ycang?'':'hide'}}" bindtap="chooseImg" wx:if="{{editState}}"> <view class="tp_add">+</view> </view> </view> </view> <view class="fileTip"> 教务处盖章文件、校工卡皆可(不超过5个文件) </view> </view> </view> <view class="protocolBox"> <t-checkbox label="" icon="rectangle" checked="{{teacherInfo.agree}}" bind:change="onChange" disabled="{{!editState}}" /> <text class="wait" bind:tap="viewContent">《教师认证服务条款》</text> </view> <view class="btn-area" wx:if="{{editState}}"> <button class="submit" bindtap="submit">提交</button> <view class="tips" wx:if="{{!skeletonLoding}}"> 仅限学校本课程任课教师申请;请上传有效在职教师工作证将有助于审核。 </view> <view class="page-body" wx:if="{{!skeletonLoding}}"> <view class="baseInfoBox"> <view class="from-item"> <view class="label"> <text class="empty"></text>当前状态: </view> <view class="stateBox"> <text class="wait" wx:if="{{teacherInfo.state == 'WaitAudit'}}" >等待审核</text > <text class="yes" wx:if="{{teacherInfo.state == 'Normal'}}" >已认证</text > <text class="no" wx:if="{{teacherInfo.state == 'Reject'}}">已驳回</text> <text class="wait" wx:if="{{teacherInfo.state == ''}}">待认证</text> <view class="reasonTxt" bindtap="previewReason" wx:if="{{teacherInfo.state == 'Reject'}}" >查看原因</view > </view> </view> </scroll-view> <view class="popupBox"> <t-popup visible="{{protocolShow}}" bind:visible-change="onVisibleChange" placement="center"> <view class="block"> <view class="protocol"> <rich-text space="emsp" nodes="{{protocolTxt}}" class="content" /> </view> <t-icon t-class="close-btn" name="close-circle" size="32" color="#fff" bind:tap="onCloseProtocol" /> <view class="from-item"> <view class="label"> <text class="icon">*</text>学校: </view> <view class="item-content"> <t-input placeholder="请输入学校" borderless value="{{teacherInfo.schoolName}}" disabled="{{!editState}}" bindchange="onSchoolNameInput" adjust-position="{{false}}" /> </view> </t-popup> <t-popup visible="{{reasonTxtShow}}" bind:visible-change="onVisibleChange" placement="center"> <view class="reasonBlock"> <view class="blick-header"> 驳回原因 </view> <view class="reasonBox"> {{reasonTxt}} </view> <t-icon t-class="close-btn" name="close-circle" size="32" color="#fff" bind:tap="onCloseReasonTxt" /> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>真实姓名: </view> <view class="item-content"> <t-input placeholder="请输入真实姓名" borderless value="{{teacherInfo.fullName}}" disabled="{{!editState}}" bindchange="onFullNameInput" adjust-position="{{false}}" /> </view> </t-popup> </view> <view class="from-item"> <view class="label"> <text class="empty"></text>职称: </view> <view class="item-content state" wx:if="{{editState}}"> <t-cell arrow note="{{teachText}}" bind:click="onTeachPicker" /> <t-picker visible="{{teachVisible}}" value="{{teacherInfo.positionalTitle}}" title="选择职称" cancelBtn="取消" confirmBtn="确认" bindchange="onPickerChange" bindcancel="onPickerCancel" adjust-position="{{false}}" > <t-picker-item options="{{teachPosts}}" /> </t-picker> </view> <view class="item-content" wx:if="{{!editState}}"> <t-cell arrow note="{{teachText}}" /> </view> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>任教课程: </view> <view class="item-content"> <t-input placeholder="请输入任教课程" borderless value="{{teacherInfo.courseName}}" bindchange="onCourseNameInput" disabled="{{!editState}}" adjust-position="{{false}}" /> </view> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>手机号: </view> <view class="item-content"> <t-input placeholder="输入手机号码" borderless value="{{teacherInfo.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" disabled="{{!editState}}" adjust-position="{{false}}" /> </view> </view> <view class="from-item form-input-6"> <view class="label"> <text class="empty"></text>座机: </view> <view class="item-content"> <t-input placeholder="输入座机号" borderless value="{{teacherInfo.telphone}}" tips="{{telphoneError ? '座机号输入不正确' : ''}}" bindchange="onTelphoneInput" disabled="{{!editState}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-7" adjust-position="{{false}}" /> </view> </view> <view class="from-item form-input-7"> <view class="label"> <text class="icon">*</text>邮箱: </view> <view class="item-content"> <t-input placeholder="输入邮箱" borderless value="{{teacherInfo.email}}" tips="{{emailError ? '邮箱输入不正确' : ''}}" bindchange="onEmailInput" disabled="{{!editState}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-7" adjust-position="{{false}}" /> </view> </view> <view class="from-item form-input-8"> <view class="label"> <text class="icon">*</text>详细地址: </view> <view class="item-content"> <t-input placeholder="请输入详细地址" borderless value="{{teacherInfo.detailedAddress}}" bindchange="onAddressInput" disabled="{{!editState}}" adjust-position="{{false}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-8" /> </view> </view> </view> <view class="fileInfoBox"> <view class="from-item"> <view class="label"> <text class="icon">*</text>在职教师工作证: </view> <view class="imageBox"> <view class="weui-uploader"> <view class="pics" wx:for="{{imgPics}}" wx:for-item="item" wx:key="*this" > <image class="weui-uploader__img" src="{{item.url}}" data-index="{{index}}" mode="aspectFill" bindtap="previewImg" > <icon type="cancel" class="delete-btn" data-index="{{index}}" catchtap="deleteImg" wx:if="{{editState}}" ></icon> </image> </view> <view class="tp_cont {{tj_ycang?'':'hide'}}" bindtap="chooseImg" wx:if="{{editState}}" > <view class="tp_add">+</view> </view> </view> </view> <view class="fileTip"> 教务处盖章文件、校工卡皆可(不超过5个文件) </view> </view> </view> <view class="protocolBox"> <t-checkbox label="" icon="rectangle" checked="{{teacherInfo.agree}}" bind:change="onChange" disabled="{{!editState}}" /> <text class="wait" bind:tap="viewContent">《教师认证服务条款》</text> </view> <view class="btn-area" wx:if="{{editState}}" style="padding-bottom: {{keyboardHeight ? keyboardHeight + 'rpx' : '20rpx'}}" > <button class="submit" bindtap="submit">提交</button> </view> </view> <view class="popupBox"> <t-popup visible="{{protocolShow}}" bind:visible-change="onVisibleChange" placement="center" > <view class="block"> <view class="protocol"> <rich-text space="emsp" nodes="{{protocolTxt}}" class="content" /> </view> <t-icon t-class="close-btn" name="close-circle" size="32" color="#fff" bind:tap="onCloseProtocol" /> </view> </t-popup> <t-popup visible="{{reasonTxtShow}}" bind:visible-change="onVisibleChange" placement="center" > <view class="reasonBlock"> <view class="blick-header"> 驳回原因 </view> <view class="reasonBox"> {{reasonTxt}} </view> <t-icon t-class="close-btn" name="close-circle" size="32" color="#fff" bind:tap="onCloseReasonTxt" /> </view> </t-popup> </view> <import src="index.skeleton.wxml" /> <template is="skeleton" wx:if="{{skeletonLoding}}" /> <template is="skeleton" wx:if="{{skeletonLoding}}" /> packageDomain/pages/teacherCertification/index.wxss
@@ -1,7 +1,9 @@ @import "./index.skeleton.wxss"; page { background: #F2F3F8; overflow-y: auto !important; position: relative; background-color: #F2F3F8 !important; } .container { pages/digitalCourses/digitalCoursesDetails/components/question/question.js
@@ -227,7 +227,6 @@ if (!res.datas.length) { return this.setData({ loading: false, noList: true, noteList: res.datas, }); } @@ -245,7 +244,7 @@ "pageCount.total": list.length, onlineQuestionsList: list, loading: false, noList: false, noList: list.length ? false : true, }); console.log(this.data.onlineQuestionsList, 3456) }); pages/digitalCourses/digitalCoursesDetails/components/question/question.wxml
@@ -1,7 +1,12 @@ <view class="note"> <view class="note-btn"> <view>共{{pageCount.total}}个</view> <t-button theme="primary" class="make-note" bind:tap="openDialog" style="width: 240rpx"> <t-button theme="primary" class="make-note" bind:tap="openDialog" style="width: 240rpx" > <view slot="content" class="btn-content"> <image src="/static/images/digitalCourses/bianji.png" /> <text class="note-btn-text">提问</text> @@ -9,8 +14,17 @@ </t-button> </view> <view class="note-content"> <t-collapse value="{{activeValues}}" bind:change="handleChange" wx:if="{{!loading && onlineQuestionsList.length}}"> <t-collapse-panel value="{{item.id}}" expandIcon wx:for="{{onlineQuestionsList}}" wx:key="id"> <t-collapse value="{{activeValues}}" bind:change="handleChange" wx:if="{{!loading && onlineQuestionsList.length}}" > <t-collapse-panel value="{{item.id}}" expandIcon wx:for="{{onlineQuestionsList}}" wx:key="id" > <view slot="header" class="collapse-header"> <view class="note-icon"></view> <view class="header-name">{{item.title}}</view> @@ -24,7 +38,6 @@ </t-collapse-panel> </t-collapse> <view wx:if="{{noList}}" class="noData"> <!-- <t-empty icon="folder-open" description="暂无数据" /> --> <empty /> </view> </view> @@ -34,33 +47,73 @@ </view> </view> <view class="loading-box" wx:if="{{loading}}"> <t-skeleton row-col="{{[1,1,1,1,1,1]}}" theme="paragraph" animation="gradient" loading="{{loading}}"></t-skeleton> <t-skeleton row-col="{{[1,1,1,1,1,1]}}" theme="paragraph" animation="gradient" loading="{{loading}}" ></t-skeleton> </view> <!-- 记笔记弹窗 --> <t-popup visible="{{showNoteDialog}}" bind:visible-change="onVisibleChange" placement="center"> <t-popup visible="{{showNoteDialog}}" bind:visible-change="onVisibleChange" placement="center" > <view class="popup"> <view class="from-item"> <view class="label"><text class="icon">*</text> 联系人: </view> <view class="item-content"> <t-input placeholder="请输入联系人" borderless value="{{userName}}" bindchange="bindTnputBlur" style="{{inputStyle}}" /> <t-input placeholder="请输入联系人" borderless value="{{userName}}" bindchange="bindTnputBlur" style="{{inputStyle}}" /> </view> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>联系方式: </view> <view class="item-content"> <t-input placeholder="输入联系方式" borderless value="{{mannder}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" style="{{inputStyle}}" /> <t-input placeholder="输入联系方式" borderless value="{{mannder}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" style="{{inputStyle}}" /> </view> </view> <view class="from-item"> <view class="label"> <text class="icon">*</text>反馈内容: </view> <view class="item-content"> <t-textarea placeholder="请输入反馈内容" value="{{content}}" disableDefaultPadding="{{true}}" autosize="{{true}}" maxlength="300" indicator bindchange="bindTextAreaBlur" style="{{inputStyle}}" /> <t-textarea placeholder="请输入反馈内容" value="{{content}}" disableDefaultPadding="{{true}}" autosize="{{true}}" maxlength="300" indicator bindchange="bindTextAreaBlur" style="{{inputStyle}}" /> </view> </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> <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> pages/digitalCourses/digitalCoursesDetails/index.wxml
@@ -6,7 +6,10 @@ <view class="book-box"> <view class="digitalCoursesDetailsTitle"> <view class="imageBox"> <image src="{{digitalsData.icon ? digitalsData.icon : 'https://jsek.bnuic.com/home/image/courseIcon.png'}}" mode="aspectFit" /> <image src="{{digitalsData.icon ? digitalsData.icon : 'https://jsek.bnuic.com/home/image/courseIcon.png'}}" mode="aspectFit" /> </view> <view class="nameBox">{{digitalsData.name}}</view> <view> @@ -39,31 +42,64 @@ </viwe> <viwe class="styleCssBox"> <view style="width: 200rpx">出版时间:</view> <view wx:if="{{digitalsData.publicationDate}}">{{digitalsData.publicationDate}} <view wx:if="{{digitalsData.publicationDate}}" >{{digitalsData.publicationDate}} </view> <view wx:else>-</view> </viwe> <image src="/static/images/bookService/detail/square.png" mode="aspectFit" class="right-background" /> <image src="/static/images/bookService/detail/square.png" mode="aspectFit" class="right-background" /> </view> </view> <view class="certificate"> <view style="margin-left: 30rpx">价格: <text>¥{{digitalsData.price}}</text> <text class="old-price" wx:if="{{digitalsData.oldPrice != '0.00'}}">¥{{ digitalsData.oldPrice }}</text> </view> <view style="margin-right: 30rpx">共<text>{{ digitalsData.classHours ? digitalsData.classHours : '0'}}</text>课时</view> <view style="margin-left: 30rpx" >价格: <text >{{digitalsData.price != '0.00' ? '¥' + digitalsData.price : '免费' }}</text > <text class="old-price" wx:if="{{digitalsData.oldPrice != '0.00'}}" >¥{{ digitalsData.oldPrice }}</text > </view> <view style="margin-right: 30rpx" >共<text >{{ digitalsData.classHours ? digitalsData.classHours : '0'}}</text >课时</view > </view> </view> </view> <view class="tabBox"> <t-tabs defaultValue="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel"> <t-tab-panel icon="{{ tabValue == '0' ? briefIconClick : briefIcon}}" label="基本信息" value="0"> <t-tabs defaultValue="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel" > <t-tab-panel icon="{{ tabValue == '0' ? briefIconClick : briefIcon}}" label="基本信息" value="0" > <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/bookService/detail/label.png" mode="aspectFit" /> <image src="/static/images/bookService/detail/label.png" mode="aspectFit" /> </view> <view class="basic"> 课程介绍</view> </view> <view class="course-content"> <rich-text wx:if="{{digitalsData.content}}" nodes="{{digitalsData.content}}"></rich-text> <rich-text wx:if="{{digitalsData.content}}" nodes="{{digitalsData.content}}" ></rich-text> <view wx:else="" class="noDataBox"> <!-- <t-empty icon="folder-open" description="暂无数据" font-size="80" /> --> <empty /> @@ -71,19 +107,42 @@ </view> <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/bookService/detail/label.png" mode="aspectFit" /> <image src="/static/images/bookService/detail/label.png" mode="aspectFit" /> </view> <view class="basic"> 主讲老师</view> </view> <view class="course-content" wx:if="{{lecturerList.length> 0}}"> <view class="lecturer" wx:for="{{lecturerList}}" wx:key="index" wx:for-item="item"> <view class="lecturer" wx:for="{{lecturerList}}" wx:key="index" wx:for-item="item" > <view class="lecturerImangBox"> <image src="{{item.icon}}" mode="aspectFit" wx:if="{{item.icon}}" /> <image src="/static/images/lecturer.png" mode="aspectFit" wx:else /> <image src="{{item.icon}}" mode="aspectFit" wx:if="{{item.icon}}" /> <image src="/static/images/lecturer.png" mode="aspectFit" wx:else /> </view> <view class="lecturerInformation"> <view class="lecturerName"> <view class="name"> {{item.name}} <text class="positionalTitle" wx:if="{{item.positionalTitle}}">({{item.positionalTitle}})</text></view> <view class="name"> {{item.name}} <text class="positionalTitle" wx:if="{{item.positionalTitle}}" >({{item.positionalTitle}})</text ></view > </view> <view class="lecturerContent">{{item.description}}</view> </view> @@ -93,10 +152,17 @@ <empty /> </view> </t-tab-panel> <t-tab-panel icon="{{ tabValue == '1' ? learnResourceClickIcon : learnResourceIcon}}" label="证书信息" value="1"> <t-tab-panel icon="{{ tabValue == '1' ? learnResourceClickIcon : learnResourceIcon}}" label="证书信息" value="1" > <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/digitalTextbooks/zhengshu@2x.png" mode="aspectFit" /> <image src="/static/images/digitalTextbooks/zhengshu@2x.png" mode="aspectFit" /> </view> <view class="basic"> 证书信息</view> </view> @@ -110,65 +176,193 @@ </view> </view> </view> <canvas canvas-id="myCanvas" style="height: 845px; width: 595px" wx:if="{{pubCertificateHide}}"></canvas> <view id="pubCertificate" class="my_canvas" wx:if="{{pubCertificateHide}}"> <image data-type="image" data-url="https://jsek.bnuic.com/home/certificate/szkc.jpg" src="https://jsek.bnuic.com/home/certificate/szkc.jpg" mode="" class="bgImg my_draw_canvas" /> <canvas canvas-id="myCanvas" style="height: 845px; width: 595px" wx:if="{{pubCertificateHide}}" ></canvas> <view id="pubCertificate" class="my_canvas" wx:if="{{pubCertificateHide}}" > <image data-type="image" data-url="https://jsek.bnuic.com/home/certificate/szkc.jpg" src="https://jsek.bnuic.com/home/certificate/szkc.jpg" mode="" class="bgImg my_draw_canvas" /> <view class="certificateInfo my_draw_canvas"> <view class="bookName my_draw_canvas" data-type="text" data-text="{{digitalsData.name}}">{{digitalsData.name}}</view> <view class="author my_draw_canvas" data-type="text" data-text="{{digitalsData.courseLeader}}">{{digitalsData.courseLeader || '-' }}</view> <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.affiliatedUnit}}">{{digitalsData.affiliatedUnit || '-'}}</view> <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.isbn}}"> <view class="bookName my_draw_canvas" data-type="text" data-text="{{digitalsData.name}}" >{{digitalsData.name}}</view > <view class="author my_draw_canvas" data-type="text" data-text="{{digitalsData.courseLeader}}" >{{digitalsData.courseLeader || '-' }}</view > <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.affiliatedUnit}}" >{{digitalsData.affiliatedUnit || '-'}}</view > <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.isbn}}" > {{ digitalsData.isbn || '-'}} </view> <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.publicationDate}}">{{digitalsData.publicationDate}}</view> <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{publishingUnit}}">{{publishingUnit}}</view> <view class="website my_draw_canvas" data-type="text" data-text="{{website}}">{{website}}</view> <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.publicationDate}}" >{{digitalsData.publicationDate}}</view > <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{publishingUnit}}" >{{publishingUnit}}</view > <view class="website my_draw_canvas" data-type="text" data-text="{{website}}" >{{website}}</view > <view class="codeBox"></view> </view> </view> <canvas canvas-id="myCanvas1" style="height:845px;width:595px" wx:if="{{pubCertificateHide}}"></canvas> <view id="textCertificate" class="my_canvas1" wx:if="{{pubCertificateHide}}"> <image data-type="image" data-url="https://jsek.bnuic.com/home/certificate/kczs.jpg" src="https://jsek.bnuic.com/home/certificate/kczs.jpg" mode="" class="bgImg my_draw_canvas1" /> <canvas canvas-id="myCanvas1" style="height: 845px; width: 595px" wx:if="{{pubCertificateHide}}" ></canvas> <view id="textCertificate" class="my_canvas1" wx:if="{{pubCertificateHide}}" > <image data-type="image" data-url="https://jsek.bnuic.com/home/certificate/kczs.jpg" src="https://jsek.bnuic.com/home/certificate/kczs.jpg" mode="" class="bgImg my_draw_canvas1" /> <view class="certificateInfo my_draw_canvas1"> <view class="userIcon my_draw_canvas1"> <view class="hexagon my_draw_canvas1"> <image src="{{userPicture}}" class="img my_draw_canvas1" /> </view> </view> <view class="userName my_draw_canvas1" data-type="text" data-text="{{userName}}">{{userName}}</view> <view class="bookName my_draw_canvas1" data-type="text" data-text="{{digitalsData.name}}">{{digitalsData.name}}</view> <view class="author my_draw_canvas1" data-type="text" data-text="{{digitalsData.courseLeader || '-'}}">{{digitalsData.courseLeader || '-' }}</view> <view class="classHours my_draw_canvas1" data-type="text" data-text="{{digitalsData.classHours || '-'}}">{{digitalsData.classHours || '-' }}</view> <view class="affiliatedUnit my_draw_canvas1" data-type="text" data-text="{{publishingUnit || '-'}}">{{publishingUnit || '-'}}</view> <view class="studyTime my_draw_canvas1" data-type="text" data-text="{{isCertificate ? isCertificate.content.studyTime || '-' : '-'}}">{{ isCertificate ? isCertificate.content.studyTime || '-' : '-' }}</view> <view class="website my_draw_canvas1" data-type="text" data-text="{{website}}">{{website}}</view> <view class="userName my_draw_canvas1" data-type="text" data-text="{{userName}}" >{{userName}}</view > <view class="bookName my_draw_canvas1" data-type="text" data-text="{{digitalsData.name}}" >{{digitalsData.name}}</view > <view class="author my_draw_canvas1" data-type="text" data-text="{{digitalsData.courseLeader || '-'}}" >{{digitalsData.courseLeader || '-' }}</view > <view class="classHours my_draw_canvas1" data-type="text" data-text="{{digitalsData.classHours || '-'}}" >{{digitalsData.classHours || '-' }}</view > <view class="affiliatedUnit my_draw_canvas1" data-type="text" data-text="{{publishingUnit || '-'}}" >{{publishingUnit || '-'}}</view > <view class="studyTime my_draw_canvas1" data-type="text" data-text="{{isCertificate ? isCertificate.content.studyTime || '-' : '-'}}" >{{ isCertificate ? isCertificate.content.studyTime || '-' : '-' }}</view > <view class="website my_draw_canvas1" data-type="text" data-text="{{website}}" >{{website}}</view > <view class="codeBox my_draw_canvas1"></view> <view class="updateDate my_draw_canvas1" wx-if="{{isCertificate}}"> <view class="updateDate my_draw_canvas1" wx-if="{{isCertificate}}" > {{ moment(isCertificate.updateDate).format('YYYY年MM月') }} </view> </view> </view> </t-tab-panel> <t-tab-panel icon="{{ tabValue == '2' ? courseLearningClick : courseLearning}}" label="课程学习" value="2"> <t-tab-panel icon="{{ tabValue == '2' ? courseLearningClick : courseLearning}}" label="课程学习" value="2" > <view class="course-content"> <view class="tabsSelect"> <view class="{{selectActive == 'learn' ? 'tabs-item selectActive' : 'tabs-item'}}" bind:tap="selectChange" data-value="{{'learn'}}">学习内容</view> <view class="{{selectActive == 'test' ? 'tabs-item selectActive' : 'tabs-item'}}" bind:tap="selectChange" data-value="{{'test'}}">在线测试</view> <view class="{{selectActive == 'learn' ? 'tabs-item selectActive' : 'tabs-item'}}" bind:tap="selectChange" data-value="{{'learn'}}" >学习内容</view > <view class="{{selectActive == 'test' ? 'tabs-item selectActive' : 'tabs-item'}}" bind:tap="selectChange" data-value="{{'test'}}" >在线测试</view > </view> <view class="list-box"> <view wx:if="{{selectActive == 'learn'}}"> <view wx:if="{{relationTextBook}}" class="textBook"> <view class="textTile"> <image src="/static/images/bookService/detail/shuzijiaocai.png" mode="" class="leftImg" /> <image src="/static/images/bookService/detail/shuzijiaocai.png" mode="" class="leftImg" /> <view>数字教材</view> </view> <view class="reabtn" bind:tap="readTextBook"> <image src="/static/images/digitalCourses/shidu@2x.png" class="readImage"></image> <image src="/static/images/digitalCourses/shidu@2x.png" class="readImage" ></image> <view>{{isTextBookBuy ? '阅读' : '试看'}}</view> </view> </view> <view wx:if="{{learnList.length > 0}}"> <tree id="test-tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" treeList="{{learnList}}" isBuy="{{isBuy}}"> <tree id="test-tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" treeList="{{learnList}}" isBuy="{{isBuy}}" > </tree> </view> <view wx:if="{{learnList.length == 0}}" class="noData"> @@ -179,21 +373,44 @@ <view class="testBtnBox"> <view class="textTile">共{{testCount}}个</view> <view class="note-btn"> <t-button theme="primary" class="make-note" bind:tap="goMycollect" data-answerType="errorQuestion" style="width: 220rpx"> <t-button theme="primary" class="make-note" bind:tap="goMycollect" data-answerType="errorQuestion" style="width: 220rpx" > <view slot="content" class="btn-content"> <image src="/static/images/bookService/detail/cuoti.png" /> <image src="/static/images/bookService/detail/cuoti.png" /> <text class="note-btn-text">我的错题</text> </view> </t-button> <t-button theme="primary" class="make-note" bind:tap="goMycollect" data-answerType="collectQuestion" style="width: 220rpx; margin-left: 10rpx"> <t-button theme="primary" class="make-note" bind:tap="goMycollect" data-answerType="collectQuestion" style="width: 220rpx; margin-left: 10rpx" > <view slot="content" class="btn-content"> <image src="/static/images/bookService/detail/wodeshoucang.png" /> <image src="/static/images/bookService/detail/wodeshoucang.png" /> <text class="note-btn-text">我的收藏</text> </view> </t-button> </view> </view> <testTree id="tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" tab="{{tab}}" treeList="{{testList}}" isBuy="{{isBuy}}"></testTree> <testTree id="tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" tab="{{tab}}" treeList="{{testList}}" isBuy="{{isBuy}}" ></testTree> <view wx:if="{{testList.length == 0}}" class="noData"> <empty /> </view> @@ -201,9 +418,17 @@ </view> </view> </t-tab-panel> <t-tab-panel icon="{{ tabValue == '3' ? learningNotesClick : learningNotes}}" label="学习笔记" value="3"> <t-tab-panel icon="{{ tabValue == '3' ? learningNotesClick : learningNotes}}" label="学习笔记" value="3" > <view class="course-content"> <note bookInfo="{{digitalsData}}" id="note" class="note-list"></note> <note bookInfo="{{digitalsData}}" id="note" class="note-list" ></note> <!-- <view class="topBox"> <view></view> <view class="note-btn"> @@ -217,9 +442,17 @@ </view> --> </view> </t-tab-panel> <t-tab-panel icon="{{ tabValue == '4' ? onlineQuestioningClick : onlineQuestioning}}" label="在线提问" value="4"> <t-tab-panel icon="{{ tabValue == '4' ? onlineQuestioningClick : onlineQuestioning}}" label="在线提问" value="4" > <view class="course-content"> <question bookInfo="{{digitalsData}}" id="question" class="note-list"></question> <question bookInfo="{{digitalsData}}" id="question" class="note-list" ></question> <!-- <view class="topBox"> <view>共{{questionTotalCount}}个</view> <view class="note-btn"> @@ -249,10 +482,18 @@ </view> --> </view> </t-tab-panel> <t-tab-panel icon="{{tabValue == '5' ? testResourceClickIocn : testResourceIocn}}" value="5" label="相关课程" style="{{tabPanelstyle}}"> <t-tab-panel icon="{{tabValue == '5' ? testResourceClickIocn : testResourceIocn}}" value="5" label="相关课程" style="{{tabPanelstyle}}" > <view class="rubricBox"> <view class="rubricimgBox"> <image src="/static/images/digitalTextbooks/Link@3x.png" mode="aspectFit" /> <image src="/static/images/digitalTextbooks/Link@3x.png" mode="aspectFit" /> </view> <view class="basic"> 相关课程</view> </view> @@ -260,10 +501,22 @@ <empty /> </view> <view class="correlation" wx:else> <view style="margin-bottom: 30rpx" wx:for="{{relatedBookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onCorrelationBook"> <view style="margin-bottom: 30rpx" wx:for="{{relatedBookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onCorrelationBook" > <view class="correlationImage"> <image src="{{item.icon}}" mode="aspectFit" /> <img wx:if="{{item.icon == ''}}" src="/static/images/default-book-img.png" alt="" /> <img wx:if="{{item.icon == ''}}" src="/static/images/default-book-img.png" alt="" /> </view> <view class="correlationName">{{item.name}}</view> <view class="correlationAuthor">{{digitalsData.author}}</view> @@ -275,22 +528,46 @@ <view class="box-bottom"> <view class="bottom-btn" bind:tap="setCoolect"> <view class="collectionImage"> <image wx:if="{{!digitalsData.isFavourite}}" src="/static/images/digitalTextbooks/wodeshoucang@2x.png" /> <image wx:else src="/static/images/bookService/detail/collecting.png" /> <image wx:if="{{!digitalsData.isFavourite}}" src="/static/images/digitalTextbooks/wodeshoucang@2x.png" /> <image wx:else src="/static/images/bookService/detail/collecting.png" /> </view> <view class="btn-text"> 收藏 </view> <view class="btn-text"> 收藏 </view> </view> <view class="bottom-btn" bind:tap="onCertificate" wx:if="{{!isCertificate.state || isCertificate.state == 'Reject'}}"> <view class="bottom-btn" bind:tap="onCertificate" wx:if="{{!isCertificate.state || isCertificate.state == 'Reject'}}" > <view class="applicationImageBox"> <image src="/static/images/digitalCourses/zhengshushenqing@2x.png" /> </view> <view class="btn-text">证书申请</view> </view> <view class="bottom-btn shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!isBuy && digitalsData.price != '0.00' }}">加入购物车</view> <view class="bottom-btn buyColor" bind:tap="buyBtn" wx:if="{{!isBuy && digitalsData.price != '0.00'}}">立即购买</view> <view class="bottom-btn buyColor" bind:tap="buyBtn" wx:if="{{!isBuy && digitalsData.price == '0.00'}}"> 免费领取</view> <view class="bottom-btn shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!isBuy && digitalsData.price != '0.00' }}" >加入购物车</view > <view class="bottom-btn buyColor" bind:tap="buyBtn" wx:if="{{!isBuy && digitalsData.price != '0.00'}}" >立即购买</view > <view class="bottom-btn buyColor" bind:tap="buyBtn" wx:if="{{!isBuy && digitalsData.price == '0.00'}}" > 免费领取</view > </view> <t-toast id="t-toast" /> </scroll-view> @@ -303,15 +580,25 @@ <view class="row-info"> <view class="body"> <view class="dialog-title">学习证书申请</view> <view style="width: 100%; height: 2rpx; background-color: #f4f4f4"></view> <view style="width: 100%; height: 2rpx; background-color: #f4f4f4" ></view> <view class="input-box"> <t-input class="input" borderless placeholder="请输入真实姓名" value="{{userInfo.fullName}}" bind:change="onFullNameInput"></t-input> <t-input class="input" borderless placeholder="请输入真实姓名" value="{{userInfo.fullName}}" bind:change="onFullNameInput" ></t-input> </view> <view class="contentImg"> <image src="{{userInfo.userPicture}}" mode="aspectFill" /> </view> <view class="buttonBox"> <t-button size="small" class="right-btn" bind:tap="uploadPicture">上传照片</t-button> <t-button size="small" class="right-btn" bind:tap="uploadPicture" >上传照片</t-button > </view> </view> <view class="row-btn"> @@ -323,4 +610,13 @@ </view> </view> <t-image-viewer usingCustomNavbar deleteBtn="{{deleteBtn}}" closeBtn="{{closeBtn}}" showIndex="{{showIndex}}" visible="{{visible}}" images="{{images}}" bind:change="onChange" bind:close="onClose"></t-image-viewer> <t-image-viewer usingCustomNavbar deleteBtn="{{deleteBtn}}" closeBtn="{{closeBtn}}" showIndex="{{showIndex}}" visible="{{visible}}" images="{{images}}" bind:change="onChange" bind:close="onClose" ></t-image-viewer>