| | |
| | | "pages/bookExhibitionList/select/select", |
| | | "pages/digitalTextbooks/index", |
| | | "pages/digitalTextbooks/digitalTextbooksDetails/index", |
| | | "pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index" |
| | | "pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index", |
| | | "pages/digitalCourses/index", |
| | | "pages/digitalCourses/digitalCoursesDetails/index" |
| | | ], |
| | | "subPackages": [ |
| | | { |
New file |
| | |
| | | // pages/digitalCourses/digitalCoursesDetails/index.js |
| | | Page({ |
| | | |
| | | /** |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | console.log(options); |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面初次渲染完成 |
| | | */ |
| | | onReady() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面显示 |
| | | */ |
| | | onShow() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面隐藏 |
| | | */ |
| | | onHide() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面卸载 |
| | | */ |
| | | onUnload() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 页面相关事件处理函数--监听用户下拉动作 |
| | | */ |
| | | onPullDownRefresh() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 页面上拉触底事件的处理函数 |
| | | */ |
| | | onReachBottom() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 用户点击右上角分享 |
| | | */ |
| | | onShareAppMessage() { |
| | | |
| | | } |
| | | }) |
New file |
| | |
| | | { |
| | | "usingComponents": {} |
| | | } |
New file |
| | |
| | | <!--pages/digitalCourses/digitalCoursesDetails/index.wxml--> |
| | | <text>数字课程详情页</text> |
New file |
| | |
| | | /* pages/digitalCourses/digitalCoursesDetails/index.wxss */ |
New file |
| | |
| | | // pages/digitalCourses/index.js |
| | | const app = getApp() |
| | | Page({ |
| | | |
| | | /** |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | barHeight: "", |
| | | navBarHeight: "", |
| | | tabPanelstyle: 'display:flex;justify-content:center;align-items:center;', |
| | | tabList: [], |
| | | courseList: [], |
| | | searchValue: '', |
| | | activeItem: null |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | const systInfo = wx.getSystemInfoSync(); |
| | | const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 |
| | | const navBarHeight = |
| | | (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度 |
| | | this.setData({ |
| | | barHeight: systInfo.statusBarHeight, |
| | | navBarHeight: navBarHeight, |
| | | }); |
| | | this.getCourseTypeListList() |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面初次渲染完成 |
| | | */ |
| | | onReady() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面显示 |
| | | */ |
| | | onShow() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面隐藏 |
| | | */ |
| | | onHide() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面卸载 |
| | | */ |
| | | onUnload() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 页面相关事件处理函数--监听用户下拉动作 |
| | | */ |
| | | onPullDownRefresh() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 页面上拉触底事件的处理函数 |
| | | */ |
| | | onReachBottom() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 用户点击右上角分享 |
| | | */ |
| | | onShareAppMessage() { |
| | | |
| | | }, |
| | | onTabsChange(event) { |
| | | |
| | | const value = event.detail.value |
| | | this.getCourseList(this.data.tabList[value]) |
| | | }, |
| | | |
| | | |
| | | goBack() { |
| | | wx.navigateBack(); |
| | | }, |
| | | getCourseTypeListList() { |
| | | const data = { |
| | | path: '*', |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }], |
| | | queryType: '\\', |
| | | searchList: [], |
| | | size: '20', |
| | | start: '0', |
| | | storeRefCode: app.config.digitalCourses, |
| | | sort: { |
| | | type: 'Asc', |
| | | field: 'LinkOrder' |
| | | } |
| | | } |
| | | app.MG.store.getStoreChannelList(data).then((res) => { |
| | | // 去除数组最后一个元素 |
| | | const newData = res.datas.slice(0, res.datas.length - 1) |
| | | |
| | | |
| | | |
| | | this.setData({ |
| | | tabList: newData, |
| | | activeItem: newData[0] |
| | | }) |
| | | this.getCourseList(newData[0]) |
| | | |
| | | |
| | | }) |
| | | }, |
| | | |
| | | getCourseList(item) { |
| | | let searchObj = {} |
| | | // let sort = {} |
| | | // // 搜索框 |
| | | if (this.data.searchValue) { |
| | | searchObj = { |
| | | 'Name*': this.data.searchValue.trim() |
| | | // '||subtitle*': searchInputValue.value.trim() |
| | | } |
| | | } |
| | | |
| | | // if (timeSort.value) { |
| | | // sort = { |
| | | // CreateDate: timeSort.value || 'Desc' |
| | | |
| | | // } |
| | | // } else { |
| | | // sort = { |
| | | // ViewCount: nameSort.value || 'Desc' |
| | | // } |
| | | // // 组合的写法 要查询的字段:升序和降序 |
| | | |
| | | // // Name: "Desc" |
| | | // //一般的排序传法 |
| | | // // type: "Asc", |
| | | // // field: "CreateDate", |
| | | // } |
| | | // courseList.value = []; |
| | | const obj = { |
| | | storeInfo: app.config.goodsStore, |
| | | path: item.pathList + '\\' + item.id, |
| | | coverSize: { |
| | | width: 260 |
| | | }, |
| | | paging: { |
| | | start: 0, |
| | | size: 99 |
| | | }, |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }], |
| | | // sort: sort, |
| | | fields: { |
| | | courseLeader: [], |
| | | affiliatedUnit: [], |
| | | publishingUnit: [], |
| | | classHours: [], |
| | | ViewCount: [], |
| | | ...searchObj |
| | | } |
| | | } |
| | | app.MG.store.getProductList(obj).then((res) => { |
| | | console.log(res, '7895') |
| | | res.datas.forEach(item => { |
| | | item.price = item.price.toFixed(2) |
| | | }) |
| | | |
| | | this.setData({ |
| | | courseList: res.datas |
| | | }) |
| | | |
| | | console.log(this.data.courseList); |
| | | |
| | | }) |
| | | }, |
| | | searchBook() { |
| | | console.log(this.data.searchValue); |
| | | this.getCourseList(this.data.activeItem) |
| | | }, |
| | | courseDetail(e) { |
| | | console.log(e); |
| | | const item = e.currentTarget.dataset.item |
| | | |
| | | wx.navigateTo({ |
| | | url: '/pages/digitalCourses/digitalCoursesDetails/index?id=' + item.id, |
| | | }) |
| | | |
| | | } |
| | | |
| | | }) |
New file |
| | |
| | | { |
| | | "usingComponents": { |
| | | "t-icon": "tdesign-miniprogram/icon/icon", |
| | | "t-search": "tdesign-miniprogram/search/search", |
| | | "t-empty": "tdesign-miniprogram/empty/empty", |
| | | "t-tabs": "tdesign-miniprogram/tabs/tabs", |
| | | "t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel" |
| | | }, |
| | | "navigationStyle": "custom", |
| | | "disableScroll": false |
| | | } |
New file |
| | |
| | | <view style="width: 100%; height: {{barHeight}}px;"></view> |
| | | <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;"> |
| | | <view> |
| | | <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> |
| | | </view> |
| | | <t-search model:value="{{searchValue}}" shape="round" placeholder="请输入关键词/书名/ISBN/作者" class="navBar-search" style="width: 464rpx" bind:submit="searchBook" /> |
| | | </view> |
| | | |
| | | |
| | | |
| | | <t-tabs defaultValue="{{0}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel"> |
| | | <t-tab-panel wx:for="{{tabList}}" wx:key="index" wx:for-item="item" wx:for-index="index" label="{{item.name}}" value="{{index}}" style="{{tabPanelstyle}}"> |
| | | |
| | | <view class="contentBox"> |
| | | |
| | | <view class="titleBox"> |
| | | <view class="frameBox"></view> |
| | | <view class="titleTextBox"> |
| | | <image src="/static/images/digitalCourses/zhuantitaolun@2x.png" mode="aspectFit" /> |
| | | |
| | | <!-- <view>数字课程列表</view> --> |
| | | |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="ExternalInformationBox"> |
| | | <view class="informationBox" wx:for="{{courseList}}" wx:key="index" wx:for-item="item" data-item="{{item}}" bind:tap="courseDetail"> |
| | | |
| | | <view class="book-img"> |
| | | <image src="{{item.icon}}" mode="aspectFit" /> |
| | | </view> |
| | | |
| | | <view class="book-name"> |
| | | {{item.name}} |
| | | </view> |
| | | |
| | | <view class="author"> |
| | | <view> |
| | | {{ item.courseLeader}} |
| | | </view> |
| | | <view> |
| | | {{ item.classHours}}课时 |
| | | </view> |
| | | </view> |
| | | <view class="money"> |
| | | <view wx:if="{{item.price != 0}}">¥{{item.price }}</view> |
| | | <view wx:else> 免费</view> |
| | | <view> |
| | | <t-icon name="cart" size="16" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{courseList.length <= 0}}" class="noDataBox"> |
| | | |
| | | <t-empty icon="folder-open" description="暂无数据" font-size="80" /> |
| | | |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | </t-tab-panel> |
| | | |
| | | </t-tabs> |
New file |
| | |
| | | /* pages/digitalCourses/index.wxss */ |
| | | |
| | | |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | |
| | | .nacigationBar { |
| | | display: flex; |
| | | align-items: center; |
| | | --td-search-font-size: 28rpx; |
| | | margin-bottom: 30rpx; |
| | | } |
| | | |
| | | |
| | | .nacigationBar .t-icon-base { |
| | | font-size: 38rpx; |
| | | } |
| | | |
| | | |
| | | .custom-tabs { |
| | | margin-bottom: 32rpx; |
| | | } |
| | | |
| | | .custom-panel { |
| | | /* height: ; */ |
| | | height: calc(100vh - 300rpx); |
| | | color: var(--td-text-color-primary); |
| | | } |
| | | |
| | | .t-tabs__item--active { |
| | | color: #FF6C00 !important; |
| | | } |
| | | |
| | | .t-tabs__track { |
| | | background-color: #FF6C00 !important; |
| | | /* height: var(--td-tab-track-thickness, 0rpx) !important; */ |
| | | } |
| | | |
| | | .t-tabs .t-tabs__item--active { |
| | | background-repeat: no-repeat; |
| | | /* background-size: 100% 100%; |
| | | background-position: 100% 100%; */ |
| | | background-image: url(https://jsek.bnuic.com/home/image/click-icon.png); |
| | | background-position: 85% center; |
| | | background-size: 20% 50%; |
| | | /* 将背景图片位置设置为靠右 */ |
| | | } |
| | | |
| | | .contentBox { |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: #f2f3f7; |
| | | } |
| | | |
| | | .titleBox { |
| | | display: flex; |
| | | align-items: center; |
| | | margin: 10px; |
| | | margin-left: 0; |
| | | padding-top: 30rpx; |
| | | } |
| | | |
| | | .frameBox { |
| | | width: 7rpx; |
| | | height: 54rpx; |
| | | background: #FF6C00; |
| | | border-radius: 0rpx 9rpx 9rpx 0rpx; |
| | | } |
| | | |
| | | .titleTextBox { |
| | | margin-left: 10px; |
| | | width: 180rpx; |
| | | height: 36rpx; |
| | | /*宽 3.7 高1 */ |
| | | } |
| | | |
| | | .titleTextBox image { |
| | | width: 100%; |
| | | height: 100%; |
| | | image-rendering: -webkit-optimize-contrast; |
| | | } |
| | | |
| | | .informationBox { |
| | | width: 340rpx; |
| | | height: 470rpx; |
| | | border-radius: 9rpx 9rpx 9rpx 9rpx; |
| | | background-color: #fff; |
| | | margin-bottom: 40rpx; |
| | | box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16); |
| | | } |
| | | |
| | | .book-img { |
| | | width: 100%; |
| | | height: 250rpx; |
| | | margin: 0 auto; |
| | | /* box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16); */ |
| | | } |
| | | |
| | | .book-name { |
| | | margin: 15rpx 30rpx; |
| | | color: #333; |
| | | font-size: 28rpx; |
| | | font-weight: 700; |
| | | word-break: break-all; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; |
| | | -webkit-box-orient: vertical; |
| | | overflow: hidden; |
| | | text-align: left; |
| | | |
| | | } |
| | | |
| | | .author { |
| | | margin: 0 30rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | margin-bottom: 15rpx; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .money { |
| | | margin: 0 30rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | color: #ff6c00; |
| | | |
| | | } |
| | | |
| | | .ExternalInformationBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | padding: 0 15rpx; |
| | | margin-top: 40rpx; |
| | | } |
| | | |
| | | .noDataBox { |
| | | width: 100%; |
| | | /* margin-top: 200rpx; */ |
| | | height: 620rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | |
| | | name: "/static/images/digitalTextbooks/jibenxinxi-t@2x.png", |
| | | }, |
| | | briefIconClick: { |
| | | name: "/static/images/digitalTextbooks/jibenxinxi @2x.png", |
| | | name: "/static/images/digitalTextbooks/jibenxinxi-t-click@3x.png", |
| | | }, |
| | | eBookIcon: { |
| | | name: "/static/images/digitalTextbooks/zuozhejianjie-t@2x.png", |
| | |
| | | name: "/static/images/digitalTextbooks/zuozhejianjie-t@2x.png", |
| | | }, |
| | | teachResourcesClickIcon: { |
| | | name: "/static/images/digitalTextbooks/zuozhejianjie@2x.png", |
| | | name: "/static/images/digitalTextbooks/zuozhejianjie-t-click@3x.png", |
| | | }, |
| | | learnResourceIcon: { |
| | | name: "/static/images/digitalTextbooks/shengshu-t@2x.png", |
| | | }, |
| | | learnResourceClickIcon: { |
| | | name: "/static/images/digitalTextbooks/zhengshu@2x.png", |
| | | name: "/static/images/digitalTextbooks/zhengshu-t-click@3x.png", |
| | | }, |
| | | testResourceIocn: { |
| | | name: "/static/images/digitalTextbooks/link-t@2x.png", |
| | | name: "/static/images/digitalTextbooks/link-t@3x.png", |
| | | }, |
| | | testResourceClickIocn: { |
| | | name: "/static/images/digitalTextbooks/Link@2x.png", |
| | | name: "/static/images/digitalTextbooks/link-t-click@3x.png", |
| | | }, |
| | | |
| | | catalogue: { |
| | | name: "/static/images/digitalTextbooks/mulu@2x.png", |
| | | name: "/static/images/digitalTextbooks/mulu-t@3x.png", |
| | | }, |
| | | catalogueClickIcon: { |
| | | name: "/static/images/digitalTextbooks/mulu@2x.png", |
| | | name: "/static/images/digitalTextbooks/mulu-t-click@3x.png", |
| | | }, |
| | | |
| | | }, |
| | |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | console.log(options.id); |
| | | console.log(options); |
| | | this.setData({ |
| | | digitalTextId: options.id |
| | | }) |
| | | this.digitalTextbooksDetailsGet(this.data.digitalTextId) |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | // 格式化日期 |
| | | // 格式化日期 |
| | |
| | | }); |
| | | |
| | | // this.onCe() |
| | | |
| | | }) |
| | | }, |
| | | |
| | |
| | | }, |
| | | onCorrelationBook(e) { |
| | | |
| | | |
| | | |
| | | const item = e.currentTarget.dataset.item |
| | | |
| | | console.log(item); |
| | | this.digitalTextbooksDetailsGet(item.id) |
| | | // const event = { |
| | | // detail: { |
| | | // value: "brief" |
| | | // } |
| | | // } |
| | | // this.onTabsChange(event) |
| | | // this.digitalTextbooksDetailsGet(item.id) |
| | | this.onLoad({ |
| | | id: item.id |
| | | }) |
| | | |
| | | |
| | | |
| | | }, |
| | | // 图书添加购物车 |
| | | async addBookShopcCar() { |
| | |
| | | <view class="content"> |
| | | <view class="styleCssBox"> |
| | | <view style="width: 150rpx;"> 作者: </view> |
| | | <view>{{ digitalsData.author}}</view> |
| | | <view class="authorBox">{{ digitalsData.author}}</view> |
| | | </view> |
| | | <view class="styleCssBox"> |
| | | <view style="width: 150rpx;">ISBN:</view> |
| | |
| | | </view> |
| | | <view class="basic"> 基本信息</view> |
| | | </view> |
| | | <view style="margin: 30rpx; margin-bottom: 130rpx;"> |
| | | <view style="margin: 30rpx; margin-bottom: 130rpx;" wx:if="{{digitalsData.content}}"> |
| | | <rich-text nodes="{{digitalsData.content}}" style="{{richStyle}}"></rich-text> |
| | | </view> |
| | | <view class="noDataBox" wx:else> |
| | | <t-empty icon="folder-open" description="暂无数据" font-size="80" /> |
| | | |
| | | </view> |
| | | </t-tab-panel> |
| | | <t-tab-panel icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}" value="jsek_cloudLearning" label="证书信息" style="{{tabPanelstyle}}"> |
| | | <view class="rubricBox"> |
| | |
| | | </view> |
| | | |
| | | |
| | | <view class="certificateChart"> |
| | | <!-- <view class="certificateChart"> |
| | | <view class="chart"> |
| | | <image src="" mode="" /> |
| | | </view> |
| | | <view class="chart"> |
| | | <image src="" mode="" /> |
| | | </view> |
| | | </view> --> |
| | | |
| | | |
| | | <view class="noDataBox"> |
| | | <t-empty icon="folder-open" description="暂无数据" font-size="80" /> |
| | | |
| | | </view> |
| | | </t-tab-panel> |
| | | <t-tab-panel icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}" value="jsek_teachingResources" label="作者信息" style="{{tabPanelstyle}}"> |
| | |
| | | </view> |
| | | <view class="basic"> 作者信息</view> |
| | | </view> |
| | | <view style="margin: 30rpx; margin-bottom: 130rpx;"> |
| | | <view style="margin: 30rpx; margin-bottom: 130rpx;" wx:if="{{digitalsData.authorIntroduction}}"> |
| | | <rich-text nodes="{{digitalsData.authorIntroduction}}" style="{{richStyle}}"></rich-text> |
| | | </view> |
| | | |
| | | |
| | | <view class="noDataBox" wx:else> |
| | | <t-empty icon="folder-open" description="暂无数据" font-size="80" /> |
| | | |
| | | </view> |
| | | </t-tab-panel> |
| | | <t-tab-panel icon="{{tabValue == 'catalogue' ? catalogueClickIcon : catalogue}}" value="catalogue" label="目录" style="{{tabPanelstyle}}"> |
| | | |
| | | <view class="rubricBox"> |
| | | <view class="rubricimgBox"> |
| | | <image src="/static/images/bookService/detail/author.png" mode="" /> |
| | | <image src="/static/images/digitalTextbooks/mulu@3x.png" mode="" /> |
| | | </view> |
| | | <view class="basic"> 目录</view> |
| | | </view> |
| | | <view style="margin: 30rpx; margin-bottom: 130rpx;"> |
| | | <view style="margin: 30rpx; margin-bottom: 130rpx;" wx:if="{{digitalsData.catalogue}}"> |
| | | <rich-text nodes="{{digitalsData.catalogue}}" style="{{richStyle}}"></rich-text> |
| | | </view> |
| | | |
| | | |
| | | <view class="noDataBox" wx:else> |
| | | <t-empty icon="folder-open" description="暂无数据" font-size="80" /> |
| | | |
| | | </view> |
| | | </t-tab-panel> |
| | | <t-tab-panel icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}" value="questionBank" label="相关教材" style="{{tabPanelstyle}}"> |
| | | |
| | | <view class="rubricBox"> |
| | | <view class="rubricimgBox"> |
| | | <image src="/static/images/digitalTextbooks/Link@3x.png" mode="" /> |
| | | </view> |
| | | <view class="basic"> 相关教材</view> |
| | | </view> |
| | | <view class="noDataBox" wx:if="{{relatedBookData.length <= 0}}"> |
| | | <t-empty icon="folder-open" description="暂无数据" font-size="80" /> |
| | | |
| | | <view class="correlation"> |
| | | </view> |
| | | |
| | | |
| | | <view class="correlation" wx:else> |
| | | |
| | | <view wx:for="{{relatedBookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onCorrelationBook"> |
| | | |
| | | <view class="correlationImage"> |
| | |
| | | |
| | | <view class="correlationAuthor">{{digitalsData.author}}</view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | |
| | | |
| | | </t-tab-panel> |
| | | </t-tabs> |
| | | |
| | |
| | | } |
| | | |
| | | .headerText { |
| | | width: 430rpx; |
| | | font-weight: bold; |
| | | font-size: 36rpx; |
| | | color: #000000; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | -o-text-overflow: ellipsis; |
| | | } |
| | | |
| | | .certificate { |
| | |
| | | color: #333333; |
| | | margin: 15rpx 0; |
| | | } |
| | | |
| | | .noDataBox { |
| | | width: 100%; |
| | | margin-top: 50rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .authorBox { |
| | | width: 200rpx; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | text-overflow: ellipsis; |
| | | -o-text-overflow: ellipsis; |
| | | } |
| | |
| | | }, |
| | | |
| | | selectTab(e) { |
| | | // console.log(index); |
| | | let index = e.currentTarget.dataset.index |
| | | console.log(e); |
| | | let index = e.detail.value |
| | | console.log(index); |
| | | this.setData({ |
| | | selectedIndex: index |
| | |
| | | "usingComponents": { |
| | | "t-icon": "tdesign-miniprogram/icon/icon", |
| | | "t-search": "tdesign-miniprogram/search/search", |
| | | "t-empty": "tdesign-miniprogram/empty/empty" |
| | | "t-empty": "tdesign-miniprogram/empty/empty", |
| | | "t-tabs": "tdesign-miniprogram/tabs/tabs", |
| | | "t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel" |
| | | }, |
| | | "navigationStyle": "custom", |
| | | "disableScroll": false |
| | |
| | | <view wx:if="{{!loading}}"> |
| | | |
| | | |
| | | <view class="fixed-header"> |
| | | <view style="width: 100%; height: {{barHeight}}px;"></view> |
| | | <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;"> |
| | | <view> |
| | |
| | | |
| | | |
| | | |
| | | <view class="tabBox"> |
| | | <view wx:for="{{tabList}}" wx:key="index" wx:for-item="item" wx:for-index="index" class="{{selectedIndex == index? 'nameBox' :''}}" data-index="{{index}}" bind:tap="selectTab"> |
| | | <view> |
| | | {{item.name}} |
| | | </view> |
| | | <view style="margin-top: 20rpx; " class="{{selectedIndex == index? 'bottomLineBox' :''}}"></view> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | |
| | | <t-tabs defaultValue="{{0}}" bind:change="selectTab" t-class="custom-tabs" t-class-content="custom-panel"> |
| | | <t-tab-panel wx:for="{{tabList}}" wx:key="index" wx:for-item="item" wx:for-index="index" label="{{item.name}}" value="{{index}}" style="{{tabPanelstyle}}"> |
| | | |
| | | <view class="contentBox"> |
| | | |
| | | <view class="titleBox"> |
| | | <view class="frameBox"></view> |
| | | <view class="titleTextBox"> |
| | | <!-- <image src="/static/images/bookExhibitionList/zhuantitaolun.png" mode="aspectFit" /> --> |
| | | |
| | | <view>数字教材列表</view> |
| | | <!-- <image src="/static/images/digitalCourses/zhuantitaolun@2x.png" mode="aspectFit" /> --> |
| | | <view>数字课程列表</view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | |
| | | |
| | | <scroll-view scroll-y="{{true}}" class="outsideContentBox" bindscrolltolower="onScrollToLower"> |
| | | |
| | | |
| | | <view class="bookContentBox"> |
| | |
| | | <view wx:else class="price">¥{{ item.price }}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view wx:if="{{!digitalTextbooksData.length }}" class="noData"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </scroll-view> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | </view> |
| | | |
| | | </t-tab-panel> |
| | | |
| | | </t-tabs> |
| | | |
| | | |
| | | |
| | | |
| | | </view> |
| | |
| | | /* pages/digitalTextbooks/index.wxss */ |
| | | @import "./index.skeleton.wxss"; |
| | | |
| | | /* pages/digitalCourses/index.wxss */ |
| | | |
| | | |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | |
| | | .nacigationBar { |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | font-size: 38rpx; |
| | | } |
| | | |
| | | .t-search__input-box { |
| | | height: var(--td-search-height, 70rpx) !important; |
| | | |
| | | .custom-tabs { |
| | | margin-bottom: 32rpx; |
| | | } |
| | | |
| | | .t-icon { |
| | | font-family: t !important; |
| | | .custom-panel { |
| | | /* height: ; */ |
| | | height: calc(100vh - 300rpx); |
| | | color: var(--td-text-color-primary); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | .tabBox { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-around; |
| | | width: 750rpx; |
| | | overflow-x: auto; |
| | | /* 添加水平滚动条 */ |
| | | white-space: nowrap; |
| | | /* 保持子元素在一行显示 */ |
| | | |
| | | .t-tabs__item--active { |
| | | color: #FF6C00 !important; |
| | | } |
| | | |
| | | .tabBox .nameBox { |
| | | color: #FF6C00; |
| | | height: 70rpx; |
| | | /* border-bottom: 1px solid #FF6C00; */ |
| | | .t-tabs__track { |
| | | background-color: #FF6C00 !important; |
| | | /* height: var(--td-tab-track-thickness, 0rpx) !important; */ |
| | | } |
| | | |
| | | .bottomLineBox { |
| | | height: 5rpx; |
| | | width: 50rpx; |
| | | background-color: #FF6C00; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | page { |
| | | background-color: #F2F3F8; |
| | | .t-tabs .t-tabs__item--active { |
| | | background-repeat: no-repeat; |
| | | /* background-size: 100% 100%; |
| | | background-position: 100% 100%; */ |
| | | background-image: url(https://jsek.bnuic.com/home/image/click-icon.png); |
| | | background-position: 85% center; |
| | | background-size: 20% 50%; |
| | | /* 将背景图片位置设置为靠右 */ |
| | | } |
| | | |
| | | .contentBox { |
| | | background-color: #F2F3F8; |
| | | width: 100%; |
| | | height: 100%; |
| | | margin-top: 268rpx; |
| | | background-color: #f2f3f7; |
| | | } |
| | | |
| | | .titleBox { |
| | |
| | | |
| | | .titleTextBox { |
| | | margin-left: 15px; |
| | | min-width: 180rpx; |
| | | min-height: 36rpx; |
| | | width: 180rpx; |
| | | height: 36rpx; |
| | | /*宽 3.7 高1 */ |
| | | } |
| | | |
| | |
| | | height: 100%; |
| | | image-rendering: -webkit-optimize-contrast; |
| | | } |
| | | |
| | | .informationBox { |
| | | width: 340rpx; |
| | | height: 470rpx; |
| | | border-radius: 9rpx 9rpx 9rpx 9rpx; |
| | | background-color: #fff; |
| | | margin-bottom: 40rpx; |
| | | box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16); |
| | | } |
| | | |
| | | .book-img { |
| | | width: 100%; |
| | | height: 250rpx; |
| | | margin: 0 auto; |
| | | /* box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16); */ |
| | | } |
| | | |
| | | .book-name { |
| | | margin: 15rpx 30rpx; |
| | | color: #333; |
| | | font-size: 28rpx; |
| | | font-weight: 700; |
| | | word-break: break-all; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; |
| | | -webkit-box-orient: vertical; |
| | | overflow: hidden; |
| | | text-align: left; |
| | | |
| | | } |
| | | |
| | | .author { |
| | | margin: 0 30rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | margin-bottom: 15rpx; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .money { |
| | | margin: 0 30rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | color: #ff6c00; |
| | | |
| | | } |
| | | |
| | | .ExternalInformationBox { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | padding: 0 15rpx; |
| | | margin-top: 40rpx; |
| | | } |
| | | |
| | | .noDataBox { |
| | | width: 100%; |
| | | /* margin-top: 200rpx; */ |
| | | height: 620rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | |
| | | .bookContentBox { |
| | | display: flex; |
| | |
| | | margin: 0 20rpx; |
| | | height: 75rpx; |
| | | color: #333; |
| | | width: 100%; |
| | | |
| | | font-size: 28rpx; |
| | | font-weight: 700; |
| | | word-break: break-all; |
| | |
| | | /* 确保盒子在页面其他元素的上方 */ |
| | | /* 其他样式,如padding、box-shadow等 */ |
| | | } |
| | | |
| | | .outsideContentBox { |
| | | /* padding: 30rpx; */ |
| | | background: #F2F3F8; |
| | | border-radius: 18rpx 18rpx 18rpx 18rpx; |
| | | /* padding-bottom: 325rpx; */ |
| | | height: calc(100vh - 450rpx); |
| | | |
| | | /* width: calc(100vw - 60rpx); */ |
| | | |
| | | } |
| | |
| | | text: '数字课程', |
| | | key: 2, |
| | | icon: '/static/images/home/shuzikecheng@2x.png', |
| | | url: '', |
| | | url: '/pages/digitalCourses/index', |
| | | }, |
| | | |
| | | |