packageBookService/pages/bookServices/detail/components/suggest/suggest.wxml
@@ -39,7 +39,6 @@ maxlength="{{11}}" class="phone" style="{{inputStyle}}" placeholder-style="{{placeholderstyle}}" /> </view> <view style="width: 100%"> packageBookService/pages/bookServices/detail/components/suggest/suggest.wxss
@@ -109,12 +109,4 @@ color: #0F1214; font-size: 40rpx; font-weight: bold; } .t-input__placeholder { font-size: 28rpx; } .phone-input .t-input__placeholder { font-size: 28rpx !important } packageBookService/pages/bookServices/detail/components/testResource/testResource.wxml
@@ -1,31 +1,59 @@ <!--pages/bookServices/detail/components/testResource/testResource.wxml--> <view class="test-resource"> <view class="top-btn"> <t-radio-group class="test-radio" t-class="horizontal-box" value="{{radioItem}}" bind:change="onRadioChange" style="margin: 0 10rpx 0 0"> <t-radio-group class="test-radio" t-class="horizontal-box" value="{{radioItem}}" bind:change="onRadioChange" style="margin: 0 10rpx 0 0" > <view class="card {{radioItem == 'test' ? 'card--active' : ''}}"> <t-radio value="test" icon="none" borderless style="height: 80rpx"> <view class="radio-content" slot="content"> <image src="{{ radioItem == 'test' ? '/static/images/bookService/detail/practice-icon.png' : '/static/images/bookService/detail/notest.png'}}"></image> <text style="color: {{radioItem == 'test' ? '#fff':''}};">练习</text> <image src="{{ radioItem == 'test' ? '/static/images/bookService/detail/practice-icon.png' : '/static/images/bookService/detail/notest.png'}}" ></image> <text style="color: {{radioItem == 'test' ? '#fff':''}};" >练习</text > </view> </t-radio> </view> <view class="card {{radioItem == 'mock' ? 'card--active' : ''}}"> <t-radio value="mock" icon="none" borderless style="height: 80rpx"> <view class="radio-content" slot="content"> <image src="{{ radioItem == 'mock' ? '/static/images/bookService/detail/checkpaper.png' : '/static/images/bookService/detail/zujuan.png'}}"></image> <text style="color: {{radioItem == 'mock' ? '#fff':''}};">组卷</text> <image src="{{ radioItem == 'mock' ? '/static/images/bookService/detail/checkpaper.png' : '/static/images/bookService/detail/zujuan.png'}}" ></image> <text style="color: {{radioItem == 'mock' ? '#fff':''}};" >组卷</text > </view> </t-radio> </view> </t-radio-group> <t-button class="error-btn" theme="default" size="medium" style="padding: 0 12rpx" bind:tap="goMycollect" data-answerType="errorQuestion"> <t-button class="error-btn" theme="default" size="medium" style="padding: 0 12rpx" bind:tap="goMycollect" data-answerType="errorQuestion" > <view slot="content" class="btn-content"> <image src="/static/images/bookService/detail/cuoti.png"></image> <text>我的错题</text> </view> </t-button> <t-button class="collect-btn" theme="default" size="medium" style="padding: 0 12rpx" bind:tap="goMycollect" data-answerType="collectQuestion"> <t-button class="collect-btn" theme="default" size="medium" style="padding: 0 12rpx" bind:tap="goMycollect" data-answerType="collectQuestion" > <view slot="content" class="btn-content"> <image src="/static/images/bookService/detail/wodeshoucang.png"></image> <text> 我的收藏</text> @@ -33,7 +61,12 @@ </t-button> </view> <!-- 练习列表 --> <view class="resource-list" wx:for="{{list}}" wx:key="id" wx:if="{{radioItem == 'test'}}"> <view class="resource-list" wx:for="{{list}}" wx:key="id" wx:if="{{radioItem == 'test'}}" > <view class="list-title"> <image src="/static/images/bookService/detail/test-icon.png"></image> <text>{{item.name}}</text> @@ -44,38 +77,62 @@ </view> </view> <view wx:if="{{noResources}}" class="noData" wx:if="{{radioItem == 'test' && !list.length}}"> <view wx:if="{{noResources}}" class="noData" wx:if="{{radioItem == 'test' && !list.length}}" > <t-empty icon="folder-open" description="暂无数据" /> </view> <!-- 组卷列表 --> <view class="mock-data" wx:if="{{radioItem == 'mock'}}"> <view> <view class="mack-num"> <view class="mack-num" wx:if="{{mockData.mockList.length}}"> <text>已组卷{{mockData.mockList.length}}次</text> <t-button class="buy-mock-btn" bind:tap="buyMock">购买组卷</t-button> </view> <view class="mock-list" wx:if="{{mockData.mockList.length}}"> <view class="mock-list-box" wx:for="{{mockData.mockList}}" wx:key="id" data-item="{{item}}" bind:tap="goMackPaper"> <view class="mock-list-box" wx:for="{{mockData.mockList}}" wx:key="id" data-item="{{item}}" bind:tap="goMackPaper" > <view class="mock-title">{{item.name}}</view> <view class="mock-message"> <view class="message-box"> <view class="mack-state"> <text wx:if="{{item.state == '3'}}" class="complete state-pad">已完成</text> <text wx:elif="{{item.state == '2' || item.state == '1'}}" class="Incomplete state-pad">未完成</text> <text wx:if="{{item.state == '3'}}" class="complete state-pad" >已完成</text > <text wx:elif="{{item.state == '2' || item.state == '1'}}" class="Incomplete state-pad" >未完成</text > <text wx:else class="Incomplete state-pad">未开始</text> </view> <view class="mock-time">{{item.createDate}}</view> </view> <view class="mock-score" wx:if="{{item.state == '3'}}">{{item.report.userScore}}分</view> <view class="mock-score" wx:if="{{item.state == '3'}}" >{{item.report.userScore}}分</view > </view> </view> </view> <view wx:else class="not-mock"> <image src="/static/images/bookService/examination/zhuangtai-icon.png"></image> <view class="not-mock-message note-mock-text">组卷是收费功能,请购买后使用!</view> <view class="note-mock-price note-mock-text">价格:<text class="mock-price">¥{{mockData.price}}</text> 元/次</view> <image src="/static/images/bookService/examination/zhuangtai-icon.png" ></image> <view class="not-mock-message note-mock-text" >组卷是收费功能,请购买后使用!</view > <view class="note-mock-price note-mock-text" >价格:<text class="mock-price">¥{{mockData.price}}</text> 元/次</view > <t-button class="buy-mock-btn" bind:tap="buyMock">购买组卷</t-button> </view> </view> </view> </view> packageBookService/pages/bookServices/detail/components/testResource/testResource.wxss
@@ -76,11 +76,16 @@ .paper-btn, .error-btn, .collect-btn { .collect-btn, .buy-mock-btn { --td-button-default-bg-color: #fff; --td-button-default-color: #0F1214; --td-button-default-active-bg-color: #fff0e6; --td-button-medium-font-size: 28rpx } .buy-mock-btn { --td-button-default-color: #ff6c00; } @@ -228,6 +233,7 @@ flex-direction: column; align-items: center; justify-content: center; padding-bottom: 50rpx; } .not-mock image { packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -352,7 +352,6 @@ }) } }) }, // 子项勾选 checkResource(e) { @@ -433,5 +432,5 @@ // this.setData({ // checkAllValues: event.detail, // }); } }, }) packageBookService/pages/bookServices/detail/components/tree/index.wxml
@@ -1,61 +1,175 @@ <view class="tree"> <t-collapse default-value="{{openIds}}" bind:change="handleChange"> <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{item.id}}"> <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{item.id}}" > <view slot="header" class="header-title"> <view class="title-checkBox"> <t-checkbox icon="rectangle" checked="{{item.checked}}" data-item="{{item}}" bind:change="checkResourceTitle" wx:if="{{isShowCheck}}" /> <t-checkbox icon="rectangle" checked="{{item.checked}}" data-item="{{item}}" catch:change="checkResourceTitle" wx:if="{{isShowCheck}}" /> <!-- <t-checkbox icon="rectangle" checked="{{true}}" data-item="{{item}}" bind:change="checkResourceTitle" /> --> <text>{{item.name}} </text><text wx:if="{{item.sysType =='CmsFolder'}}">({{item.children ? item.children.length : 0}})</text> <text>{{item.name}} </text ><text wx:if="{{item.sysType =='CmsFolder'}}" >({{item.children ? item.children.length : 0}})</text > </view> </view> <view class="list" wx:for="{{item.children}}" wx:for-item="citem" wx:for-index="cindex" wx:key="cindex"> <view class="list" wx:for="{{item.children}}" wx:for-item="citem" wx:for-index="cindex" wx:key="cindex" > <!-- // 判断 无子项 且为商品item 直接显示 --> <view class="listItems" wx:if="{{citem.childrenFolderCount <= 0 && citem.type == 'productItem'}}"> <view class="itemsInfo" wx:if="{{citem.name}}" data-item="{{citem}}" data-index="{{cindex}}"> <view class="contentBox" bind:tap="goPlayer" data-item="{{citem}}" data-parent="{{item}}"> <view class="listItems" wx:if="{{citem.childrenFolderCount <= 0 && citem.type == 'productItem'}}" > <view class="itemsInfo" wx:if="{{citem.name}}" data-item="{{citem}}" data-index="{{cindex}}" > <view class="contentBox" bind:tap="goPlayer" data-item="{{citem}}" data-parent="{{item}}" > <!-- 教学资源 云学习 图标 --> <view class="box-image" style="{{ tab == 'jsek_teachingResources' ? 'width: 350rpx;' : 'width: 450rpx;'}}"> <view class="box-image" style="{{ tab == 'jsek_teachingResources' ? 'width: 350rpx;' : 'width: 450rpx;'}}" > <view class="checkBox" wx:if="{{isShowCheck}}"> <!-- checked="{{citem.checked}}" --> <!-- <t-checkbox icon="rectangle" checked="{{citem.checked}}" disabled="{{citem.selectType=='webpage' || citem.isDownload != 1 || citem.fileMap[citem.file].protectType == 'Private'}}" catch:change="checkResource" data-item="{{citem}}" /> --> <t-checkbox icon="rectangle" checked="{{citem.checked}}" data-item="{{citem}}" catch:change="checkResource" /> <t-checkbox icon="rectangle" checked="{{citem.checked}}" data-item="{{citem}}" catch:change="checkResource" /> </view> <!-- 教学资源图标 --> <view class="teach-icon"> <image wx:if="{{citem.selectType == 'audio' || citem.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'video' || citem.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'pdf'}}" src="/static/images/bookService/detail/pdf.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'webpage'}}" src="/static/images/bookService/detail/net.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'picture'}}" src="/static/images/bookService/detail/picture.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'zip'}}" src="/static/images/bookService/detail/zip.png" mode="aspectFill" /> <image wx:elif="{{ citem.fileMap[citem.file].extension == 'doc' || citem.fileMap[citem.file].extension == 'docx'}}" src="/static/images/bookService/detail/word.png" mode="aspectFill" /> <image wx:elif="{{ citem.fileMap[citem.file].extension == 'xlsx' || citem.fileMap[citem.file].extension == 'xlsx'}}" src="/static/images/bookService/detail/excel.png" mode="aspectFill" /> <image wx:elif="{{ citem.fileMap[citem.file].extension == 'ppt' || citem.fileMap[citem.file].extension == 'pptx'}}" src="/static/images/bookService/detail/PPT.png" mode="aspectFill" /> <image wx:if="{{citem.selectType == 'audio' || citem.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'video' || citem.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'pdf'}}" src="/static/images/bookService/detail/pdf.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'webpage'}}" src="/static/images/bookService/detail/net.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'picture'}}" src="/static/images/bookService/detail/picture.png" mode="aspectFill" /> <image wx:elif="{{citem.selectType == 'zip'}}" src="/static/images/bookService/detail/zip.png" mode="aspectFill" /> <image wx:elif="{{ citem.fileMap[citem.file].extension == 'doc' || citem.fileMap[citem.file].extension == 'docx'}}" src="/static/images/bookService/detail/word.png" mode="aspectFill" /> <image wx:elif="{{ citem.fileMap[citem.file].extension == 'xlsx' || citem.fileMap[citem.file].extension == 'xlsx'}}" src="/static/images/bookService/detail/excel.png" mode="aspectFill" /> <image wx:elif="{{ citem.fileMap[citem.file].extension == 'ppt' || citem.fileMap[citem.file].extension == 'pptx'}}" src="/static/images/bookService/detail/PPT.png" mode="aspectFill" /> </view> <!-- 云学习图标 --> <view> </view> <!-- 名称 --> <text class="name" style="{{ tab == 'jsek_teachingResources' ? 'width: 300rpx;' : 'width: 400rpx;'}}">{{citem.name}}</text> <text class="name" style="{{ tab == 'jsek_teachingResources' ? 'width: 300rpx;' : 'width: 400rpx;'}}" >{{citem.name}}</text > </view> <!-- 教学资源类型 --> <view class="teachClass"> {{citem.resourceClass}} </view> <view class="teach-btn" wx:if="{{tab == 'jsek_teachingResources'}}"> <view class="teach-btn" wx:if="{{tab == 'jsek_teachingResources'}}" > <!-- 下载按钮 --> <image src="/static/images/bookService/detail/download-icon.png" class="download-image" data-value="{{citem}}" catchtap="downloadTeach"></image> <image src="/static/images/bookService/detail/download-icon.png" class="download-image" data-value="{{citem}}" catchtap="downloadTeach" ></image> </view> <view wx:if="{{tab == 'jsek_cloudLearning'}}"> <!-- 云学习试看图标 --> <image src="/static/images/bookService/detail/shikan.png" class="testSee" wx:if="{{!citem.isbuy ? false : citem.freeFile ? true : false}}"></image> <image src="/static/images/bookService/detail/shikan.png" class="testSee" wx:if="{{!citem.isbuy ? false : citem.freeFile ? true : false}}" ></image> <!-- 云学习加入购物车图标 --> <image src="/static/images/bookService/detail/cart.png" wx:if="{{citem.isShopCar}}" class="shopCar" data-item="{{citem}}" catch:tap="onCloudShoppingCart"></image> <image src="/static/images/bookService/detail/cart.png" wx:if="{{citem.isShopCar}}" class="shopCar" data-item="{{citem}}" catch:tap="onCloudShoppingCart" ></image> <!-- 云学习购买图标 --> <image src="/static/images/bookService/detail/need-buy.png" class="need-buy" wx:if="{{citem.isbuy }}"></image> <image src="/static/images/bookService/detail/need-buy.png" class="need-buy" wx:if="{{citem.isbuy }}" ></image> </view> </view> </view> </view> <!-- // 判断 不是商品 有子项 递归组件 --> <tree wx:else isShowCheck="{{isShowCheck}}" bookInfo="{{bookInfo}}" treeList="{{[citem]}}" itemId="{{itemId}}" tab="{{tab}}" buyIds="{{buyIds}}" openTeachids="{{openTeachids}}" openLearnids="{{openLearnids}}"></tree> <tree wx:else isShowCheck="{{isShowCheck}}" bookInfo="{{bookInfo}}" treeList="{{[citem]}}" itemId="{{itemId}}" tab="{{tab}}" buyIds="{{buyIds}}" openTeachids="{{openTeachids}}" openLearnids="{{openLearnids}}" ></tree> </view> <!-- 暂无数据 --> <view wx:if="{{!item.children || !item.children.length}}" class="noData"> @@ -71,4 +185,4 @@ </t-collapse> </view> <web-view wx:if="{{webpageSrc}}" src="{{webpageSrc}}"></web-view> <web-view wx:if="{{webpageSrc}}" src="{{webpageSrc}}"></web-view> packageBookService/pages/bookServices/detail/index.js
@@ -523,7 +523,6 @@ } }) } else { debugger if (this.data.bookDetail.isFavourite) { app.MG.store .delProductLink({ @@ -1032,7 +1031,8 @@ app.MG.ugc.newTopicMessage(query).then(async (res) => { if (res) { wx.showToast({ title: '申请已提交,请待审核通过后下载', title: '申请已提交', duration: 2000, }) } await this.getApplyInfo(this.data.bookDetail.id) @@ -1048,9 +1048,7 @@ // }) // .catch(() => { }) // } // } else { // // logIn() // } // } }, // 教学资源下载前往PC提示Diialog closeTeachDownload() { packageBookService/pages/bookServices/list/index.js
@@ -39,24 +39,24 @@ options: [], }, sortList: { value: '', value: 'default', options: [{ value: '', label: '综合排序', value: 'default', label: '默认排序', }, { value: '1', value: 'name-asc', label: '名称正序' }, { value: '2', value: 'name-desc', label: '名称倒叙' }, { value: '3', value: 'time-asc', label: '出版时间正序' }, { value: '3', value: 'time-desc', label: '出版时间倒叙' } ], @@ -359,17 +359,44 @@ queryType: '*', }; } if (this.data.sort) { if (this.data.sortList.value == 'name-asc') { sort = { Name: this.data.sort, BaseType: '', }; } else { Name: 'Asc', BaseType: '' } } else if (this.data.sortList.value == 'name-desc') { sort = { type: 'Desc', field: 'ViewCount', }; Name: 'Desc', BaseType: '' } } else if (this.data.sortList.value == 'time-asc') { sort = { PublicationDate: 'Asc', BaseType: 'DateTime' } } else if (this.data.sortList.value == 'time-desc') { debugger sort = { PublicationDate: 'Desc', BaseType: 'DateTime' } } else if (this.data.sortList.value == 'default') { sort = { field: 'order', type: 'Desc' } } // if (this.data.sort) { // sort = { // Name: this.data.sort, // BaseType: '', // }; // } else { // sort = { // type: 'Desc', // field: 'ViewCount', // }; // } // 搜索 let searchObj = {}; if (this.data.searchValue) { @@ -497,6 +524,19 @@ this.setData({ 'sortList.value': e.detail.value }) let path; if (this.data.secondCode) { path = this.data.secondCode; } else if (this.data.stairCode) { path = `${this.data.assortCheck.code}\\${this.data.stairCode}`; } else { path = this.data.assortCheck.code; } this.setData({ path: path, }); this.getBookList(path); }, changeNewText(e) { this.setData({ @@ -511,33 +551,33 @@ this.getBookList(this.data.path); }, // 排序按钮 sortClick() { if (!this.data.sort.length) { this.setData({ sort: 'Desc', }); } else if (this.data.sort == 'Desc') { this.setData({ sort: 'Asc', }); } else if (this.data.sort == 'Asc') { this.setData({ sort: '', }); } let path; if (this.data.secondCode) { path = this.data.secondCode; } else if (this.data.stairCode) { path = `${this.data.assortCheck.code}\\${this.data.stairCode}`; } else { path = this.data.assortCheck.code; } this.setData({ path: path, }); this.getBookList(path); }, // sortClick() { // if (!this.data.sort.length) { // this.setData({ // sort: 'Desc', // }); // } else if (this.data.sort == 'Desc') { // this.setData({ // sort: 'Asc', // }); // } else if (this.data.sort == 'Asc') { // this.setData({ // sort: '', // }); // } // let path; // if (this.data.secondCode) { // path = this.data.secondCode; // } else if (this.data.stairCode) { // path = `${this.data.assortCheck.code}\\${this.data.stairCode}`; // } else { // path = this.data.assortCheck.code; // } // this.setData({ // path: path, // }); // this.getBookList(path); // }, // 搜索图书 searchBook(e) { console.log(e.detail.value); packageBookService/pages/bookServices/list/index.wxml
@@ -65,8 +65,8 @@ /> </t-dropdown-menu> </view> <view class="header-sort" bind:tap="sortClick"> <text class="sort-name">排序</text> <view class="header-sort"> <!-- <text class="sort-name">排序</text> <t-icon name="swap-left" size="28rpx" @@ -78,15 +78,14 @@ size="28rpx" class="icon-left" color="{{sort == 'Desc' ? '#ff6c00' : ''}}" /> <!-- <t-dropdown-menu> /> --> <t-dropdown-menu> <t-dropdown-item label="排序" options="{{sortList.options}}" value="{{sortList.value}}" bindchange="onSortChange" /> </t-dropdown-menu> --> </t-dropdown-menu> </view> </view> <scroll-view packageBookService/pages/bookServices/list/index.wxss
@@ -71,10 +71,18 @@ background-color: #fff; line-height: 48px; height: 48px; width: 15vw; width: 20vw; font-size: 28rpx; color: #999; display: flex; } .header-sort .t-dropdown-menu__item { padding: 0 8rpx; } .header-sort .t-dropdown-menu__title { width: 80%; } .header-sort::after { @@ -95,7 +103,7 @@ .header-scroll { height: 100%; width: 85vw; width: 80vw; overflow-x: auto; } @@ -113,14 +121,6 @@ transform: rotate(90deg); } /* .sort-icon { transform: rotate(90deg); position: relative; } .sort-icon .icon-left { transform: rotate(180deg); } */ .list-container { height: 80vh; @@ -239,14 +239,14 @@ align-items: center; } .t-dropdown-menu__item { .header-scroll .t-dropdown-menu__item { background-color: #F6F6F6; border-radius: 80rpx; height: 70%; margin-left: 20rpx; } .t-dropdown-item__body { .header-scroll .t-dropdown-item__body { padding-bottom: 10rpx !important; } static/images/bookService/examination/rijian-click.pngstatic/images/bookService/examination/rijian.pngstatic/images/bookService/examination/yejian-click.pngstatic/images/bookService/examination/yejian.pngstatic/images/bookService/examination/zhuangtai-icon.png