Merge refs/remotes/origin/master into refs/heads/master
| | |
| | | const { |
| | | phoneError |
| | | } = this.data; |
| | | if (e.detail.value) { |
| | | const isPhoneNumber = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e.detail.value); |
| | | if (phoneError === isPhoneNumber) { |
| | | this.setData({ |
| | | phoneError: !isPhoneNumber, |
| | | "contactInfo.phone": e.detail.value, |
| | | }); |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | phoneError: false, |
| | | }); |
| | | } |
| | | }, |
| | |
| | | electronicBookList: [], |
| | | bookList: [], |
| | | }) |
| | | wx.setStorageSync("electronicBookList", []); |
| | | wx.removeStorageSync("electronicBookList") |
| | | } else { |
| | | that.setData({ |
| | | paperBookList: [], |
| | | bookList: [], |
| | | }) |
| | | wx.setStorageSync("paperBookList", []); |
| | | wx.removeStorageSync("paperBookList") |
| | | } |
| | | wx.showModal({ |
| | | title: '提示!', //提示的标题 |
| | |
| | | <view class="item"> |
| | | <text class="label">姓名:</text> |
| | | <view class="item-content"> |
| | | <t-input placeholder="请输入真实姓名" borderless adjust-position="false" value="{{contactInfo.fullName}}" bindchange="onFullNameInput" /> |
| | | <t-input placeholder="请输入真实姓名" borderless value="{{contactInfo.fullName}}" bindchange="onFullNameInput" /> |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <text class="label">联系电话:</text> |
| | | <view class="item-content"> |
| | | <t-input placeholder="输入联系电话" borderless adjust-position="false" value="{{contactInfo.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" /> |
| | | <t-input placeholder="输入联系电话" borderless value="{{contactInfo.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" /> |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <text class="label">详细地址:</text> |
| | | <view class="item-content"> |
| | | <t-input placeholder="请输入详细地址" borderless adjust-position="false" value="{{contactInfo.detailedAddress}}" bindchange="onAddressInput" /> |
| | | <t-input placeholder="请输入详细地址" borderless value="{{contactInfo.detailedAddress}}" bindchange="onAddressInput" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | } |
| | | |
| | | .btn-area { |
| | | margin: 40rpx 0; |
| | | margin: 40rpx; |
| | | padding: 0 40rpx; |
| | | padding-bottom: 60rpx; |
| | | } |
| | | |
| | | .submit { |
| | |
| | | this.setData({ |
| | | userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)) |
| | | }) |
| | | this.getAlreadyPBookList() |
| | | this.getAlreadyEBookList() |
| | | // 获取申请次数 |
| | | this.getSelectPaperBookCount() |
| | | this.getSelectBookCount() |
| | | |
| | | } |
| | | }, |
| | | |
| | |
| | | * 生命周期函数--监听页面显示 |
| | | */ |
| | | onShow() { |
| | | this.setData({ |
| | | page: 1, |
| | | paperBookList: [], |
| | | electronicBookList: [] |
| | | }) |
| | | this.getAlreadyPBookList() |
| | | this.getAlreadyEBookList() |
| | | // 获取申请次数 |
| | | this.getSelectPaperBookCount() |
| | | this.getSelectBookCount() |
| | | console.log(this.data.electronicBookList.length, this.data.paperBookList.length, 1) |
| | | if (wx.getStorageSync("paperBookList") || wx.getStorageSync("electronicBookList")) { |
| | | if (wx.getStorageSync("paperBookList")) { |
| | | this.setData({ |
| | | paperBookList: wx.getStorageSync("paperBookList"), |
| | |
| | | this.setData({ |
| | | num: this.data.paperBookList.length + this.data.electronicBookList.length |
| | | }) |
| | | } |
| | | this.getBookList(false); |
| | | }, |
| | | goBack() { |
| | |
| | | }, |
| | | |
| | | // 获取纸质书剩余次数 |
| | | getSelectPaperBookCount(item) { |
| | | getSelectPaperBookCount() { |
| | | app.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: 'paperSampleBookapplyNum', |
| | |
| | | }) |
| | | }, |
| | | // 获取电子书剩余次数 |
| | | getSelectBookCount(item) { |
| | | getSelectBookCount() { |
| | | app.MG.app |
| | | .getTicketResult({ |
| | | ticketRefCodeOrGuid: 'electronicSampleBookapplyNum', |
| | |
| | | } |
| | | if (that.data.alreadyPaperBookList.length > 0) { |
| | | that.data.alreadyPaperBookList.forEach((pBook) => { |
| | | if (pBook.content.length > 0) { |
| | | pBook.content.forEach((pBookItem) => { |
| | | if (pBookItem.id === item.id && pBook.state == 'WaitAudit') { |
| | | item.paperDisabled = true |
| | |
| | | item.paperDisabled = false |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | if (that.data.alreadyElectronicBookList.length > 0) { |
| | | that.data.alreadyElectronicBookList.forEach((eBook) => { |
| | | if (eBook.content.length > 0) { |
| | | eBook.content.forEach((eBookItem) => { |
| | | if (eBookItem.id === item.id && !eBook.isExpiry && eBook.state != 'Reject') { |
| | | item.electronDisabled = true |
| | | item.electronChecked = true |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | if (that.data.paperBookList.length > 0) { |
| | |
| | | defaultUser = { |
| | | ...teacherInfos, |
| | | nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name, |
| | | icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, |
| | | icon: nickNameData && JSON.parse(nickNameData.data).icon != "" ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, |
| | | userId: res.userId, |
| | | role: 'Teacher', |
| | | roleId: teacherRole.role.id, |
| | |
| | | defaultUser = { |
| | | ...WeChatInfo, |
| | | nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name, |
| | | icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, |
| | | icon: nickNameData && JSON.parse(nickNameData.data).icon != "" ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, |
| | | userId: res.userId, |
| | | } |
| | | } |
| | |
| | | const { |
| | | phoneError |
| | | } = this.data; |
| | | if (e.detail.value) { |
| | | const isPhoneNumber = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e.detail.value); |
| | | if (phoneError === isPhoneNumber) { |
| | | this.setData({ |
| | | phoneError: !isPhoneNumber, |
| | | "teacherInfo.phone": e.detail.value, |
| | | }); |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | phoneError: false, |
| | | }); |
| | | } |
| | | }, |
| | |
| | | const { |
| | | telphoneError |
| | | } = this.data; |
| | | if (e.detail.value) { |
| | | const isPhoneNumber = /^0\d{2}-\d{8}$|^0\d{3}-\d{7}$/.test(e.detail.value); |
| | | if (telphoneError === isPhoneNumber) { |
| | | this.setData({ |
| | |
| | | "teacherInfo.telphone": e.detail.value, |
| | | }); |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | telphoneError: false, |
| | | }); |
| | | } |
| | | }, |
| | | onEmailInput(e) { |
| | | const { |
| | | emailError |
| | | } = this.data; |
| | | if (e.detail.value) { |
| | | const isPhoneNumber = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(e.detail.value); |
| | | if (emailError === isPhoneNumber) { |
| | | this.setData({ |
| | |
| | | "teacherInfo.email": e.detail.value, |
| | | }); |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | emailError: false, |
| | | }); |
| | | } |
| | | }, |
| | | // 上传图片事件 |
| | | chooseImg(e) { |
| | |
| | | <view class="from-item"> |
| | | <view class="label"> 学校: </view> |
| | | <view class="item-content"> |
| | | <t-input placeholder="请输入学校" borderless adjust-position="false" value="{{teacherInfo.schoolName}}" disabled="{{!editState}}" bindchange="onSchoolNameInput" /> |
| | | <t-input placeholder="请输入学校" borderless value="{{teacherInfo.schoolName}}" disabled="{{!editState}}" bindchange="onSchoolNameInput" /> |
| | | </view> |
| | | </view> |
| | | <view class="from-item"> |
| | | <view class="label"> 真实姓名: </view> |
| | | <view class="item-content"> |
| | | <t-input placeholder="请输入真实姓名" borderless adjust-position="false" value="{{teacherInfo.fullName}}" disabled="{{!editState}}" bindchange="onFullNameInput" /> |
| | | <t-input placeholder="请输入真实姓名" borderless value="{{teacherInfo.fullName}}" disabled="{{!editState}}" bindchange="onFullNameInput" /> |
| | | </view> |
| | | </view> |
| | | <view class="from-item"> |
| | |
| | | <view class="from-item"> |
| | | <view class="label"> 任教课程: </view> |
| | | <view class="item-content"> |
| | | <t-input placeholder="请输入任教课程" borderless adjust-position="false" value="{{teacherInfo.courseName}}" bindchange="onCourseNameInput" disabled="{{!editState}}" /> |
| | | <t-input placeholder="请输入任教课程" borderless value="{{teacherInfo.courseName}}" bindchange="onCourseNameInput" disabled="{{!editState}}" /> |
| | | </view> |
| | | </view> |
| | | <view class="from-item"> |
| | | <view class="label"> 手机号: </view> |
| | | <view class="item-content"> |
| | | <t-input placeholder="输入手机号码" borderless adjust-position="false" value="{{teacherInfo.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" disabled="{{!editState}}" /> |
| | | <t-input placeholder="输入手机号码" borderless value="{{teacherInfo.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" disabled="{{!editState}}" /> |
| | | </view> |
| | | </view> |
| | | <view class="from-item"> |
| | | <view class="label"> 座机: </view> |
| | | <view class="item-content"> |
| | | <t-input placeholder="输入座机号" borderless value="{{teacherInfo.telphone}}" adjust-position="false" tips="{{telphoneError ? '座机号输入不正确' : ''}}" bindchange="onTelphoneInput" disabled="{{!editState}}" /> |
| | | <t-input placeholder="输入座机号" borderless value="{{teacherInfo.telphone}}" tips="{{telphoneError ? '座机号输入不正确' : ''}}" bindchange="onTelphoneInput" disabled="{{!editState}}" /> |
| | | </view> |
| | | </view> |
| | | <view class="from-item"> |
| | | <view class="label"> 邮箱: </view> |
| | | <view class="item-content"> |
| | | <t-input placeholder="输入邮箱" borderless adjust-position="false" value="{{teacherInfo.email}}" tips="{{emailError ? '邮箱输入不正确' : ''}}" bindchange="onEmailInput" disabled="{{!editState}}" /> |
| | | <t-input placeholder="输入邮箱" borderless value="{{teacherInfo.email}}" tips="{{emailError ? '邮箱输入不正确' : ''}}" bindchange="onEmailInput" disabled="{{!editState}}" /> |
| | | </view> |
| | | </view> |
| | | <view class="from-item"> |
| | | <view class="label"> 详细地址: </view> |
| | | <view class="item-content"> |
| | | <t-input placeholder="请输入详细地址" borderless adjust-position="false" value="{{teacherInfo.detailedAddress}}" bindchange="onAddressInput" disabled="{{!editState}}" /> |
| | | <t-input placeholder="请输入详细地址" borderless value="{{teacherInfo.detailedAddress}}" bindchange="onAddressInput" disabled="{{!editState}}" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | .block { |
| | | position: relative; |
| | | width: 600rpx; |
| | | height: 600rpx; |
| | | height: 820rpx; |
| | | padding: 20rpx 0; |
| | | background: #fff; |
| | | border-radius: 16rpx; |
| | |
| | | if (teacherRole && teacherInfos) { |
| | | defaultUser = { |
| | | ...teacherInfos, |
| | | nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : teacherInfos.name, |
| | | icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, |
| | | nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : WeChatInfo ? WeChatInfo.name : '', |
| | | icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo ? WeChatInfo.icon : '', |
| | | userId: res.userId, |
| | | role: 'Teacher', |
| | | roleId: teacherRole.role.id, |
| | |
| | | const { |
| | | phoneError |
| | | } = this.data; |
| | | if (e.detail.value) { |
| | | const isPhoneNumber = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e.detail.value); |
| | | if (phoneError === isPhoneNumber) { |
| | | this.setData({ |
| | | phoneError: !isPhoneNumber, |
| | | "userInfoForm.phone": e.detail.value, |
| | | }); |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | phoneError: false, |
| | | }); |
| | | } |
| | | }, |
| | |
| | | const { |
| | | emailError |
| | | } = this.data; |
| | | if (e.detail.value) { |
| | | const isPhoneNumber = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(e.detail.value); |
| | | if (emailError === isPhoneNumber) { |
| | | this.setData({ |
| | |
| | | "userInfoForm.email": e.detail.value, |
| | | }); |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | emailError: false, |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | getImgCapcha() { |
| | |
| | | } |
| | | |
| | | .inputBox1 { |
| | | height: 72rpx; |
| | | border: 2rpx solid #D9D9D9; |
| | | flex: 1; |
| | | } |
| | | |
| | | .inputBox1 .t-input { |
| | | width: 380rpx !important; |
| | | } |
| | | |
| | | |
| | | .block { |
| | | position: relative; |
| | |
| | | |
| | | .block .body .inputBox { |
| | | width: 300rpx; |
| | | height: 72rpx; |
| | | border: 2rpx solid #D9D9D9; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .outsideHigherImageBox { |
| | | |
| | | position: relative; |
| | | } |
| | | |
| | | .downloadIcon { |
| | | width: 34rpx; |
| | | height: 34rpx; |
| | | |
| | | border-radius: 5rpx 5rpx 5rpx 5rpx; |
| | | background: rgba(0, 0, 0, 0.3); |
| | | position: absolute; |
| | |
| | | /* background-color: #8bc34a; */ |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | } |
| | | |
| | | .downloadshiftin { |
| | |
| | | |
| | | .t-tabs__item--active { |
| | | color: #FF6C00 !important; |
| | | |
| | | } |
| | | |
| | | .t-tabs__track { |
| | |
| | | align-items: center; |
| | | } |
| | | |
| | | .dialog-input { |
| | | /* .dialog-input { |
| | | padding-top: 12px; |
| | | padding-bottom: 12px; |
| | | text-align: left; |
| | |
| | | border-radius: 8rpx; |
| | | background-color: #f3f3f3; |
| | | box-sizing: border-box; |
| | | } |
| | | } */ |
| | | |
| | | .placeholder { |
| | | color: rgba(0, 0, 0, 0.4); |
| | |
| | | } |
| | | |
| | | .dialogBox .t-input__control { |
| | | |
| | | min-height: 100rpx; |
| | | } |
| | | |
| | | .t-button--text { |
| | | color: #000 !important; |
| | | |
| | | } |
| | | |
| | | .t-button--text.t-button--primary { |
| | |
| | | |
| | | .t-input__control { |
| | | /* border: 1rpx #000 solid; */ |
| | | background-color: #F9F9F9; |
| | | width: 100%; |
| | | background-color: #ccc; |
| | | /* width: 100%; */ |
| | | } |
| | |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | totalSize: '', |
| | | start: 0, |
| | | isMore: null, |
| | | keynoteDisabled: true, |
| | | value: '', |
| | | keyword: '', |
| | |
| | | onPullDownRefresh() { |
| | | |
| | | }, |
| | | onPullDownRefresh() { |
| | | this.data.page.size = 16 //更改显示的值 |
| | | this.bookExhibitionGet(); // 调用方法加载更多数据 |
| | | // onPullDownRefresh() { |
| | | // this.data.page.size = 16 //更改显示的值 |
| | | // this.bookExhibitionGet(); // 调用方法加载更多数据 |
| | | // }, |
| | | |
| | | onScrollToLower() { |
| | | console.log(789); |
| | | console.log(this.data.bookExhibitionList.length); |
| | | console.log(this.data.totalSize); |
| | | if (this.data.bookExhibitionList.length < this.data.totalSize) { |
| | | this.setData({ |
| | | isMore: true, |
| | | start: this.data.start + 1 |
| | | }) |
| | | this.bookExhibitionGet() |
| | | } else { |
| | | this.setData({ |
| | | isMore: true, |
| | | }) |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isMore: false |
| | | }) |
| | | console.log('300'); |
| | | }, 300) |
| | | } |
| | | }, |
| | | /** |
| | | * 页面上拉触底事件的处理函数 |
| | |
| | | 'bookClassification*': this.data.keynoteValue || [], |
| | | ...searchObj |
| | | }, |
| | | paging: this.data.page, |
| | | paging: { |
| | | start: '0', |
| | | size: this.data.start * 10 |
| | | }, |
| | | sort: sort, |
| | | // coverSize: { |
| | | // width: 100 |
| | |
| | | } |
| | | |
| | | const list = [...res.datas] |
| | | |
| | | console.log(res); |
| | | this.setData({ |
| | | bookExhibitionList: list |
| | | bookExhibitionList: list, |
| | | totalSize: res.total |
| | | }) |
| | | // 判断数据长度 |
| | | console.log(list.length, 'list.length'); |
| | |
| | | "t-dropdown-item": "tdesign-miniprogram/dropdown-item/dropdown-item", |
| | | "t-toast": "tdesign-miniprogram/toast/toast", |
| | | "t-icon": "tdesign-miniprogram/icon/icon", |
| | | "t-empty": "tdesign-miniprogram/empty/empty" |
| | | "t-empty": "tdesign-miniprogram/empty/empty", |
| | | "t-loading": "tdesign-miniprogram/loading/loading" |
| | | }, |
| | | "onReachBottomDistance": 200, |
| | | "onReachBottomDistance": 100, |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": true, |
| | | "disableScroll": true |
| | |
| | | <image src="/static/images/bookExhibitionList/zhuantitaolun.png" mode="aspectFit" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <scroll-view scroll-y="{{true}}" class="scrollViewBox" bindscrolltolower="onScrollToLower"> |
| | | <view class="outside"> |
| | | <view wx:if="{{!bookExhibitionList.length }}" class="noData"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | |
| | | <view class="textBox" title="{{item.subtitleName}}"> <text>{{item.subtitleName}}</text></view> |
| | | </view> |
| | | </view> |
| | | <view class="bottom-box"> |
| | | <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" /> |
| | | <text wx:if="{{isMore == false}}">没有更多了</text> |
| | | </view> |
| | | </scroll-view> |
| | | |
| | | </view> |
| | |
| | | top: 0px; |
| | | background-color: #fff; |
| | | height: 135px; |
| | | z-index: 999; |
| | | } |
| | | |
| | | .disableds { |
| | | color: var(--td-dropdown-menu-disabled-colorm, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))) !important; |
| | | } |
| | | |
| | | .scrollViewBox { |
| | | height: calc(100vh - 300rpx); |
| | | /* width: calc(100vw - 60rpx); */ |
| | | /* height: 700rpx; */ |
| | | } |
| | |
| | | .bottom-box { |
| | | height: 40rpx; |
| | | } |
| | | |
| | | |
| | | .bottom-box { |
| | | display: flex; |
| | | justify-content: center; |
| | | color: #999; |
| | | height: 80rpx; |
| | | font-size: 28rpx; |
| | | --td-loading-color: #ff6c00 |
| | | } |
| | |
| | | title: '删除图书成功', |
| | | icon: 'none' |
| | | }); |
| | | this.setData({ |
| | | totalPrice: 0.00, |
| | | selectedCount: 0, |
| | | checkAll: false, |
| | | }) |
| | | |
| | | |
| | | }); |
| | | |
| | | |
| | | |
| | | }, |
| | | |
| | | shoppingCartGet() { |
| | |
| | | }) |
| | | |
| | | res.datas.forEach(item => { |
| | | console.log(item, 'item456'); |
| | | item.imgUrl = getPublicImage(item.productMonWithLinkDto.product.icon, '', '160'); |
| | | |
| | | // this.setData({ |
| | | // type: item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product' |
| | | // }) |
| | | const type = item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product'; |
| | | item.type = type; // 将type设置为item对象的属性,而不是使用setData |
| | | |
| | | // debugger |
| | | |
| | | }); |
| | |
| | | |
| | | |
| | | if (this.data.shoppingCartData.length === 0) { |
| | | console.log(11111); |
| | | this.setData({ |
| | | onDisabled: true |
| | | }) |
| | |
| | | url: '/pages/testLogin/index' |
| | | }); |
| | | }, |
| | | //触底函数 |
| | | onReachBottom() { |
| | | |
| | | |
| | | onScrollToLower() { |
| | | if (this.data.shoppingCartData.length < this.data.totalSize) { |
| | | this.setData({ |
| | | isMore: true, |
| | |
| | | }) |
| | | console.log('300'); |
| | | }, 300) |
| | | |
| | | } |
| | | }, |
| | | // 下拉函数 |
| | |
| | | <scroll-view scroll-y="{{true}}" class="outsideContentBox"> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <scroll-view scroll-y="{{true}}" class="outsideContentBox" bindscrolltolower="onScrollToLower"> |
| | | |
| | | <view> |
| | | |
| | |
| | | <t-checkbox icon="rectangle" value=" {{item.id}}" data-item="{{item}}" checked="{{item.checked}}" bindchange="HandelItemChange" /> |
| | | </view> |
| | | <view class="left-image"> |
| | | <image src="{{item.imgUrl}}" class="imageStyle" mode="aspectFit" /> |
| | | <image wx:if="{{item.imgUrl}}" src="{{item.imgUrl}}" class="imageStyle" mode="aspectFit" /> |
| | | <image src="/static/images/default-book-img.png" class="imageStyle" mode="aspectFit" /> |
| | | </view> |
| | | </view> |
| | | </t-cell> |
| | |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | |
| | | <t-toast id="t-toast" /> |
| | | </scroll-view> |
| | | <view class="bottomBox"> |
| | | <view class="checkGroupBox"> |
| | | <checkbox-group bindchange="bottomChange"> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <t-toast id="t-toast" /> |
| | | </scroll-view> |
| | |
| | | } |
| | | |
| | | .outsideContentBox { |
| | | padding: 30rpx; |
| | | /* padding: 30rpx; */ |
| | | background: #F2F3F8; |
| | | border-radius: 18rpx 18rpx 18rpx 18rpx; |
| | | padding-bottom: 325rpx; |
| | | /* height: 260rpx; */ |
| | | height: calc(100vh - 300rpx); |
| | | /* width: calc(100vw - 60rpx); */ |
| | | |
| | | } |
| | | |
| | | .bottomBox { |
| | |
| | | margin: 30rpx 0; |
| | | border-radius: 18rpx 18rpx 18rpx 18rpx; |
| | | height: 260rpx; |
| | | |
| | | } |
| | | |
| | | .totalPriceText { |
| | |
| | | |
| | | |
| | | .contentCheckbox { |
| | | width: 100rpx; |
| | | /* width: 100rpx; */ |
| | | margin-right: 30rpx; |
| | | } |
| | | |
| | | .left-icon { |
| | |
| | | .left-image { |
| | | width: 152rpx; |
| | | height: 212rpx; |
| | | background: #FFFFFF; |
| | | /* background: #FFFFFF; */ |
| | | border-radius: 0rpx 0rpx 0rpx 0rpx; |
| | | box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16); |
| | | } |
| | | |
| | | .imageStyle { |
| | |
| | | font-size: 28rpx; |
| | | --td-loading-color: #ff6c00 |
| | | } |
| | | |
| | | .t-checkbox__content { |
| | | height: 0rpx !important; |
| | | } |
| | |
| | | if (teacherRole && teacherInfos) { |
| | | defaultUser = { |
| | | ...teacherInfos, |
| | | nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name, |
| | | icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, |
| | | nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo ? WeChatInfo.name : '', |
| | | icon: nickNameData && JSON.parse(nickNameData.data).icon != "" ? JSON.parse(nickNameData.data).icon : WeChatInfo ? WeChatInfo.icon : '', |
| | | userId: res.userId, |
| | | role: 'Teacher', |
| | | roleId: teacherRole.role.id, |
| | |
| | | defaultUser = { |
| | | ...WeChatInfo, |
| | | nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name, |
| | | icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, |
| | | icon: nickNameData && JSON.parse(nickNameData.data).icon != "" ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon, |
| | | userId: res.userId, |
| | | userType: type, |
| | | role: 'Student', |
| | |
| | | isMore: false |
| | | }) |
| | | }, 100) |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | }, |
| | | |
| | | // 下拉函数 |
| | | onPullDownRefresh() { |
| | | |
| | | console.log(456); |
| | | if (this.data.tabValue == 4) { |
| | | this.setData({ |
| | | "pageCount.page": 1 |
| | |
| | | console.log(e); |
| | | const key = e.currentTarget.dataset.key; |
| | | const item = e.currentTarget.dataset.item; |
| | | |
| | | this.setData({ |
| | | [key]: true, |
| | | dialogKey: key, |
| | |
| | | this.setData({ |
| | | [dialogKey]: false |
| | | }); |
| | | |
| | | |
| | | console.log(this.data.input); |
| | | console.log(this.data.Md5); |
| | | if (this.data.input) { |
| | |
| | | icon: 'none', |
| | | }); |
| | | } |
| | | |
| | | }, |
| | | // 弹窗取消 |
| | | closeDialog() { |
| | |
| | | }); |
| | | console.log(111); |
| | | }, |
| | | onScrollToLower() { |
| | | if (this.data.tabValue == 0) { |
| | | console.log(0); |
| | | if (this.data.bookData.length < this.data.bookTotal) { |
| | | this.setData({ |
| | | isMore: true, |
| | | "pageCount.page": this.data.pageCount.page + 1 |
| | | }) |
| | | this.retrievalPageGet() |
| | | } else { |
| | | this.setData({ |
| | | isMore: true, |
| | | }) |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isMore: false |
| | | }) |
| | | }, 100) |
| | | |
| | | } |
| | | |
| | | } else if (this.data.tabValue == 1) { |
| | | |
| | | if (this.data.courseData.length < this.data.courseTotal) { |
| | | this.setData({ |
| | | isMore: true, |
| | | "pageCount.page": this.data.pageCount.page + 1 |
| | | }) |
| | | this.retrievalPageGet() |
| | | } else { |
| | | this.setData({ |
| | | isMore: true, |
| | | }) |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isMore: false |
| | | }) |
| | | }, 100) |
| | | |
| | | } |
| | | console.log(2); |
| | | } else if (this.data.tabValue == 2) { |
| | | |
| | | if (this.data.digitalTextbooksData.length < this.data.digitalTextbooksTotal && this.data.digitalTextbooksData.length > 9) { |
| | | this.setData({ |
| | | isMore: true, |
| | | "pageCount.page": this.data.pageCount.page + 1 |
| | | }) |
| | | this.retrievalPageGet() |
| | | } else { |
| | | this.setData({ |
| | | isMore: true, |
| | | }) |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isMore: false |
| | | }) |
| | | }, 100) |
| | | |
| | | } |
| | | console.log(2); |
| | | } else if (this.data.tabValue == 3) { |
| | | if (this.data.seminarData.length < this.data.seminarTotal) { |
| | | this.setData({ |
| | | isMore: true, |
| | | "pageCount.page": this.data.pageCount.page + 1 |
| | | }) |
| | | this.retrievalPageGet() |
| | | } else { |
| | | this.setData({ |
| | | isMore: true, |
| | | }) |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isMore: false |
| | | }) |
| | | }, 100) |
| | | } |
| | | console.log(3); |
| | | } else if (this.data.tabValue == 4) { |
| | | if (this.data.bookFairData.length < this.data.bookFairTotal) { |
| | | this.setData({ |
| | | isMore: true, |
| | | "pageCount.page": this.data.pageCount.page + 1 |
| | | }) |
| | | this.bibliographyGet() |
| | | } else { |
| | | this.setData({ |
| | | isMore: true, |
| | | }) |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isMore: false |
| | | }) |
| | | }, 100) |
| | | } |
| | | console.log(4); |
| | | } else if (this.data.tabValue == 5) { |
| | | if (this.data.biblioClassificationData.length < this.data.biblioClassificationTotal) { |
| | | this.setData({ |
| | | isMore: true, |
| | | "pageCount.page": this.data.pageCount.page + 1 |
| | | }) |
| | | this.retrievalPageGet() |
| | | } else { |
| | | this.setData({ |
| | | isMore: true, |
| | | }) |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isMore: false |
| | | }) |
| | | }, 100) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": true, |
| | | "onReachBottomDistance": 200, |
| | | "backgroundTextStyle": "dark" |
| | | "backgroundTextStyle": "dark", |
| | | "disableScroll": true |
| | | } |
| | |
| | | |
| | | <view class="tabsBox"> |
| | | <!-- sticky="true" --> |
| | | <t-tabs defaultValue="{{0}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel" sticky="true"> |
| | | <t-tabs defaultValue="{{0}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel"> |
| | | <t-tab-panel label="图书({{bookTotal}})" value="0"> |
| | | <view wx:if="{{bookData.length <= 0}}" class="noDataBox"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | |
| | | <scroll-view scroll-y="{{true}}" class="scrollViewBox" bindscrolltolower="onScrollToLower"> |
| | | <view class="bookDataBox"> |
| | | <view class="bookDataForBox" wx:for="{{bookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onBook"> |
| | | <view class="imageBox"> |
| | |
| | | <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" /> |
| | | <text wx:if="{{isMore == false}}">没有更多了</text> |
| | | </view> |
| | | </scroll-view> |
| | | |
| | | |
| | | </t-tab-panel> |
| | | <t-tab-panel label="课程({{courseTotal}})" value="1"> |
| | | <view wx:if="{{courseData.length <= 0}}" class="noDataBox"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | |
| | | <view class="listBox1"> |
| | | |
| | | <scroll-view scroll-y="{{true}}" class="scrollViewBox" bindscrolltolower="onScrollToLower"> |
| | | <view class="listBox1"> |
| | | <view> |
| | | <view wx:for="{{courseData}}" wx:for-item="item" wx:for-index="index" wx:key="index" bindtap="toList" data-info="{{item}}" class="listItemBox"> |
| | | <view class="listItem flex" data-item="{{item}}" bind:tap="underConstruction"> |
| | |
| | | <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" /> |
| | | <text wx:if="{{isMore == false}}">没有更多了</text> |
| | | </view> |
| | | </scroll-view> |
| | | |
| | | </t-tab-panel> |
| | | <t-tab-panel label="数字教材({{digitalTextbooksTotal}})" value="2"> |
| | | |
| | |
| | | <view wx:if="{{digitalTextbooksData.length <= 0}}" class="noDataBox"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | |
| | | <scroll-view scroll-y="{{true}}" class="scrollViewBox" bindscrolltolower="onScrollToLower"> |
| | | <view class="bookDataBox"> |
| | | |
| | | |
| | | <view class="bookDataForBox" wx:for="{{digitalTextbooksData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="underConstruction"> |
| | | <view class="imageBox"> |
| | | <image src="{{item.icon}}" mode="" /> |
| | |
| | | <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" /> |
| | | <text wx:if="{{isMore == false}}">没有更多了</text> |
| | | </view> |
| | | |
| | | </scroll-view> |
| | | |
| | | |
| | | </t-tab-panel> |
| | |
| | | <view wx:if="{{seminarData.length <= 0}}" class="noDataBox"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | <scroll-view scroll-y="{{true}}" class="scrollViewBox" bindscrolltolower="onScrollToLower"> |
| | | <view class="listBox"> |
| | | <view wx:for="{{seminarData}}" wx:for-item="item" wx:for-index="index" wx:key="index" class="listItemBox" data-item="{{item}}" bind:tap="underConstruction"> |
| | | <view class="listItem" bindtap="goSubjectDetail" data-book="{{item}}"> |
| | |
| | | <text wx:if="{{isMore == false}}">没有更多了</text> |
| | | </view> |
| | | |
| | | |
| | | </scroll-view> |
| | | </t-tab-panel> |
| | | <t-tab-panel label="书目({{bookFairTotal}})" value="4"> |
| | | |
| | |
| | | <view wx:if="{{bookFairData.length <= 0 }}" class="noDataBox"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | |
| | | <scroll-view scroll-y="{{true}}" class="scrollViewBox" bindscrolltolower="onScrollToLower"> |
| | | <view class="outsideHigherBox"> |
| | | |
| | | <view class="higherBox" wx:for="{{bookFairData}}" wx:key="index" wx:for-item="item" wx:for-index="index"> |
| | |
| | | </view> |
| | | |
| | | |
| | | </scroll-view> |
| | | |
| | | |
| | | </t-tab-panel> |
| | |
| | | <view wx:if="{{biblioClassificationData.length <= 0}}" class="noDataBox"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | <view class="outside"> |
| | | |
| | | <scroll-view scroll-y="{{true}}" class="scrollViewBox" bindscrolltolower="onScrollToLower"> |
| | | <view class="outside"> |
| | | <view class="contentBox" wx:for="{{biblioClassificationData}}" wx:key="index" wx:for-item="item" wx:for-index="index" bindtap="onBookExhibitionDetails" data-item="{{item}}"> |
| | | <image class="bookFairImage" wx:if="{{item.icon}}" src="{{item.icon}}" mode="" /> |
| | | <image class="bookFairImage" wx:else="" src="/static/images/bookExhibitionList/banner.png" mode="" /> |
| | |
| | | <text wx:if="{{isMore == false}}">没有更多了</text> |
| | | </view> |
| | | |
| | | |
| | | </scroll-view> |
| | | </t-tab-panel> |
| | | </t-tabs> |
| | | </view> |
| | |
| | | .download { |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | } |
| | | |
| | | .downloadshiftin { |
| | |
| | | } |
| | | |
| | | .outsideRetrievalPageBox { |
| | | position: relative; |
| | | /* position: relative; */ |
| | | } |
| | | |
| | | .retrievalPageBox { |
| | | position: fixed; |
| | | top: 0px; |
| | | background-color: #fff; |
| | | height: 120px; |
| | | /* position: fixed; |
| | | top: 0px; */ |
| | | /* background-color: #fff; */ |
| | | /* height: 120px; */ |
| | | /* z-index: 999; */ |
| | | } |
| | | |
| | | .tabsBox { |
| | | margin-top: 300rpx; |
| | | /* margin-top: 300rpx; */ |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | .dialogBox .t-input__control { |
| | | |
| | | min-height: 100rpx; |
| | | } |
| | | |
| | | .t-button--text { |
| | | color: #000 !important; |
| | | |
| | | } |
| | | |
| | | .t-button--text.t-button--primary { |
| | |
| | | background-color: #F9F9F9; |
| | | width: 100%; |
| | | } |
| | | |
| | | .scrollViewBox { |
| | | height: calc(100vh - 326rpx); |
| | | /* width: calc(100vw - 60rpx); */ |
| | | } |