| | |
| | | export const requestCtx = "http://182.92.203.7:3001"; // 请求地址 |
| | | export const appId = 27; |
| | | // export const requestCtx = "https://jsek.bnuic.com"; // 请求地址 |
| | | // export const appId = 3; |
| | | // export const requestCtx = "http://182.92.203.7:3001"; // 请求地址 |
| | | // export const appId = 27; |
| | | export const requestCtx = "https://jsek.bnuic.com"; // 请求地址 |
| | | export const appId = 3; |
| | | // export const epubUrl = "http://182.92.203.7:3007/epubReadMobile/"; |
| | | export const epubUrl = "https://jsek.bnuic.com/epubReadMobile/#/"; |
| | | export const pdfUrl = "http://182.92.203.7:3007/pdfRead/"; |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <movable-area class="movable-area"> |
| | | <view class="book-resource"> |
| | | <t-tabs value="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel" class="tab-class"> |
| | | <t-tab-panel label="图书简介" icon="{{ tabValue == 'brief' ? briefIconClick : briefIcon}}" value="brief" style="{{tabPanelstyle}}"> |
| | |
| | | </t-tab-panel> |
| | | </t-tabs> |
| | | </view> |
| | | </scroll-view> |
| | | <!-- 我要建议弹窗 --> |
| | | <suggest class="suggest-component" id="suggest-component" bookIcon="{{bookDetail.icon}}" bookName="{{bookDetail.name}}"></suggest> |
| | | <!-- 教学资源下载提示弹窗 --> |
| | | <t-dialog class="teachDownloadDialog" visible="{{isShowTeachDownload}}" title="提示" content="请前往PC端下载" confirm-btn="{{ confirmBtn }}" bind:confirm="closeTeachDownload" /> |
| | | |
| | | <movable-view class="movable-view" :x="{{x}}" :y="{{y}}" direction="all"> |
| | | <view class="applyBox" bindtap="goApply"> |
| | | <view class="box"> |
| | | <t-image src="/static/images/home/yangshuForm1.png" mode="heightFix" class="img" /> |
| | | <view class="num" wx:if="{{num > 0}}">{{num}}</view> |
| | | </view> |
| | | </view> |
| | | </movable-view> |
| | | </movable-area> |
| | | </scroll-view> |
| | | <!-- 我要建议弹窗 --> |
| | | <suggest class="suggest-component" id="suggest-component" bookIcon="{{bookDetail.icon}}" bookName="{{bookDetail.name}}"></suggest> |
| | | <!-- 教学资源下载提示弹窗 --> |
| | | <t-dialog class="teachDownloadDialog" visible="{{isShowTeachDownload}}" title="提示" content="请前往PC端下载" confirm-btn="{{ confirmBtn }}" bind:confirm="closeTeachDownload" /> |
| | | <!-- 购买按钮 --> |
| | | <view class="box-bottom"> |
| | | <view class="bottom-btn" bind:tap="appplyElectronicBook"> |
| | |
| | | height: 100%; |
| | | } |
| | | |
| | | .movable-area { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .movable-view { |
| | | width: 184rpx; |
| | | height: 184rpx; |
| | | top: 400rpx; |
| | | left: 520rpx; |
| | | } |
| | | |
| | | .applyBox { |
| | | width: 184rpx; |
| | | height: 184rpx; |
| | |
| | | const app = getApp(); |
| | | import { loginInfo } from "../../../../assets/js/login"; |
| | | import { |
| | | loginInfo |
| | | } from "../../../../assets/js/login"; |
| | | Page({ |
| | | /** |
| | | * 页面的初始数据 |
| | |
| | | bookList: [], |
| | | stairList: { |
| | | value: "", |
| | | options: [ |
| | | { |
| | | value: "", |
| | | label: "一级", |
| | | }, |
| | | ], |
| | | options: [], |
| | | }, |
| | | secondList: { |
| | | value: [], |
| | |
| | | }, |
| | | sortList: { |
| | | value: "default", |
| | | options: [ |
| | | { |
| | | options: [{ |
| | | value: "default", |
| | | label: "默认排序", |
| | | }, |
| | |
| | | if (options.secondCode) { |
| | | this.setData({ |
| | | secondCode: options.secondCode, |
| | | pathList: [ |
| | | { |
| | | pathList: [{ |
| | | Path: options.secondCode, |
| | | Type: "*", |
| | | StoreRefCode: app.config.goodsStore, |
| | | }, |
| | | ], |
| | | }, ], |
| | | }); |
| | | } |
| | | // 获取二级分类 |
| | |
| | | }, |
| | | }; |
| | | app.MG.store.getStoreChannelList(query).then(async (res) => { |
| | | const options = [ |
| | | { |
| | | const options = [{ |
| | | value: "", |
| | | label: "一级", |
| | | }, |
| | | ]; |
| | | label: "一级分类", |
| | | }, ]; |
| | | for (let index = 0; index < res.datas.length; index++) { |
| | | const item = res.datas[index]; |
| | | options.push({ |
| | |
| | | } |
| | | const query = { |
| | | ...pathObj, |
| | | filterList: [ |
| | | { |
| | | filterList: [{ |
| | | value: "Normal", |
| | | field: "state", |
| | | }, |
| | | ], |
| | | }, ], |
| | | sort, |
| | | paging: { |
| | | start: 0, |
| | |
| | | }, |
| | | // 一级分类切换 |
| | | onChangeStair(e) { |
| | | const path = e.detail.value.length |
| | | ? `${this.data.assortCheck.code}\\${e.detail.value}` |
| | | : this.data.assortCheck.code; |
| | | const path = e.detail.value.length ? |
| | | `${this.data.assortCheck.code}\\${e.detail.value}` : |
| | | this.data.assortCheck.code; |
| | | console.log(this.data.path); |
| | | |
| | | this.setData({ |
| | |
| | | }, |
| | | // 跳转图书详情 |
| | | goDetail(e) { |
| | | const { book } = e.currentTarget.dataset; |
| | | const { |
| | | book |
| | | } = e.currentTarget.dataset; |
| | | wx.navigateTo({ |
| | | url: `/packageBookService/pages/bookServices/detail/index?id=${book.id}&name=${book.name}`, |
| | | }); |
| | |
| | | <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" |
| | | /> |
| | | <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" |
| | | /> |
| | | <t-search model:value="{{searchValue}}" shape="round" placeholder="请输入关键词/书名/ISBN/作者" class="navBar-search" style="width: 464rpx" bind:submit="searchBook" /> |
| | | </view> |
| | | |
| | | <view class="bookServices-list"> |
| | | <view class="list-header"> |
| | | <view class="header-scroll"> |
| | | <t-dropdown-menu style="width: 1200rpx"> |
| | | <t-dropdown-item |
| | | disabled="{{disabledStair}}" |
| | | optionsColumns="2" |
| | | options="{{stairList.options}}" |
| | | value="{{stairList.value}}" |
| | | bindchange="onChangeStair" |
| | | /> |
| | | <t-dropdown-item |
| | | disabled="{{disabledSecondList}}" |
| | | label="二级" |
| | | bind:open="openDropdown" |
| | | bind:close="closeDropdown" |
| | | options="{{secondList.options}}" |
| | | optionsColumns="2" |
| | | multiple |
| | | value="{{secondList.value}}" |
| | | bind:confirm="onConfirmSecond" |
| | | bind:change="onChangeSecond" |
| | | /> |
| | | <t-dropdown-item |
| | | label="重点项目" |
| | | disabled="{{disabledProject}}" |
| | | options="{{majorProjectList.options}}" |
| | | optionsColumns="2" |
| | | multiple |
| | | defaultValue="{{majorProjectList.value}}" |
| | | bind:confirm="changeMajorProject" |
| | | bind:reset="resetMajorProject" |
| | | /> |
| | | <t-dropdown-item |
| | | label="新形态教材" |
| | | disabled="{{disabledNewForms}}" |
| | | options="{{newTextBook.options}}" |
| | | optionsColumns="2" |
| | | multiple |
| | | defaultValue="{{newTextBook.value}}" |
| | | bind:confirm="changeNewText" |
| | | bind:reset="resetNewText" |
| | | /> |
| | | <t-dropdown-item |
| | | options="{{sortList.options}}" |
| | | value="{{sortList.value}}" |
| | | bindchange="onSortChange" |
| | | /> |
| | | <t-dropdown-item disabled="{{disabledStair}}" optionsColumns="2" options="{{stairList.options}}" value="{{stairList.value}}" bindchange="onChangeStair" /> |
| | | <t-dropdown-item disabled="{{disabledSecondList}}" label="二级" bind:open="openDropdown" bind:close="closeDropdown" options="{{secondList.options}}" optionsColumns="2" multiple value="{{secondList.value}}" bind:confirm="onConfirmSecond" bind:change="onChangeSecond" /> |
| | | <t-dropdown-item label="重点项目" disabled="{{disabledProject}}" options="{{majorProjectList.options}}" optionsColumns="2" multiple defaultValue="{{majorProjectList.value}}" bind:confirm="changeMajorProject" bind:reset="resetMajorProject" /> |
| | | <t-dropdown-item label="新形态教材" disabled="{{disabledNewForms}}" options="{{newTextBook.options}}" optionsColumns="2" multiple defaultValue="{{newTextBook.value}}" bind:confirm="changeNewText" bind:reset="resetNewText" /> |
| | | <t-dropdown-item options="{{sortList.options}}" value="{{sortList.value}}" bindchange="onSortChange" /> |
| | | </t-dropdown-menu> |
| | | </view> |
| | | <!-- <view class="header-sort"> |
| | |
| | | </t-dropdown-menu> |
| | | </view> --> |
| | | </view> |
| | | <scroll-view |
| | | scroll-y="{{true}}" |
| | | scroll-into-view="{{backTop}}" |
| | | refresher-enabled="{{true}}" |
| | | lower-threshold="{{200}}" |
| | | refresher-threshold="{{80}}" |
| | | refresher-default-style="none" |
| | | refresher-triggered="{{triggered}}" |
| | | bindrefresherrefresh="onPullDownRefresh" |
| | | bindrefresherpulling="{{refresh.onPulling}}" |
| | | class="list-container" |
| | | bindrefresherrefresh="onPullDownRefresh" |
| | | bindscrolltolower="onReachBottom" |
| | | > |
| | | <scroll-view scroll-y="{{true}}" scroll-into-view="{{backTop}}" refresher-enabled="{{true}}" lower-threshold="{{200}}" refresher-threshold="{{80}}" refresher-default-style="none" refresher-triggered="{{triggered}}" bindrefresherrefresh="onPullDownRefresh" bindrefresherpulling="{{refresh.onPulling}}" class="list-container" bindrefresherrefresh="onPullDownRefresh" bindscrolltolower="onReachBottom"> |
| | | <view slot="refresher" class="refresh-container"> |
| | | <view class="loading"> |
| | | <t-loading |
| | | theme="circular" |
| | | size="40rpx" |
| | | text="正在刷新..." |
| | | class="wrapper" |
| | | /> |
| | | <t-loading theme="circular" size="40rpx" text="正在刷新..." class="wrapper" /> |
| | | </view> |
| | | </view> |
| | | <view class="assort-title" id="assort-title"> |
| | |
| | | </view> |
| | | <view class="page-content"> |
| | | <view class="book-list" wx:if="{{!loaidng}}"> |
| | | <view |
| | | class="book-box" |
| | | wx:for="{{bookList}}" |
| | | wx:key="id" |
| | | bind:tap="goDetail" |
| | | data-book="{{item}}" |
| | | > |
| | | <view class="book-box" wx:for="{{bookList}}" wx:key="id" bind:tap="goDetail" data-book="{{item}}"> |
| | | <view class="book-img"> |
| | | <image |
| | | src="{{item.icon ? item.icon : '/static/images/default-book-img.png'}}" |
| | | aria-label="{item.name{}}" |
| | | mode="aspectFit" |
| | | /> |
| | | <image src="{{item.icon ? item.icon : '/static/images/default-book-img.png'}}" aria-label="{item.name{}}" mode="aspectFit" /> |
| | | </view> |
| | | <view class="book-name book-color">{{ item.name}}</view> |
| | | <view class="book-author book-color">{{item.author}}</view> |
| | |
| | | </view> |
| | | <!-- loading --> |
| | | <view class="loading-box" wx:if="{{loaidng}}"> |
| | | <t-loading |
| | | theme="circular" |
| | | size="60rpx" |
| | | class="wrapper" |
| | | loading="{{loaidng}}" |
| | | wx:if="{{loaidng}}" |
| | | /> |
| | | <t-loading theme="circular" size="60rpx" class="wrapper" loading="{{loaidng}}" wx:if="{{loaidng}}" /> |
| | | </view> |
| | | </view> |
| | | <view class="bottom-box" wx:if="{{bookList.length}}"> |
| | | <t-loading |
| | | theme="circular" |
| | | size="40rpx" |
| | | class="wrapper" |
| | | wx:if="{{isMore == true}}" |
| | | loading="{{isMore}}" |
| | | /> |
| | | <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" loading="{{isMore}}" /> |
| | | <text wx:if="{{isMore == false}}">没有更多了</text> |
| | | </view> |
| | | </scroll-view> |
| | |
| | | * 生命周期函数--监听页面显示 |
| | | */ |
| | | onShow() { |
| | | let that = this; |
| | | that.setData({ |
| | | bookList: [] |
| | | }) |
| | | if (wx.getStorageSync(app.config.userInfoKey)) { |
| | | this.setData({ |
| | | that.setData({ |
| | | userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)) |
| | | }) |
| | | if (this.data.userInfo.role == 'Teacher') { |
| | | this.setData({ |
| | | 'teacherInfo.schoolName': JSON.parse(this.data.userInfo.data).schoolName, |
| | | 'teacherInfo.courseName': JSON.parse(this.data.userInfo.data).courseName, |
| | | 'contactInfo.fullName': JSON.parse(this.data.userInfo.data).fullName, |
| | | 'contactInfo.phone': JSON.parse(this.data.userInfo.data).phone, |
| | | 'contactInfo.detailedAddress': JSON.parse(this.data.userInfo.data).detailedAddress, |
| | | if (that.data.userInfo.role == 'Teacher') { |
| | | that.setData({ |
| | | 'teacherInfo.schoolName': JSON.parse(that.data.userInfo.data).schoolName, |
| | | 'teacherInfo.courseName': JSON.parse(that.data.userInfo.data).courseName, |
| | | 'contactInfo.fullName': JSON.parse(that.data.userInfo.data).fullName, |
| | | 'contactInfo.phone': JSON.parse(that.data.userInfo.data).phone, |
| | | 'contactInfo.detailedAddress': JSON.parse(that.data.userInfo.data).detailedAddress, |
| | | }) |
| | | } else { |
| | | wx.showModal({ |
| | |
| | | }) |
| | | } |
| | | if (wx.getStorageSync("paperBookList")) { |
| | | this.setData({ |
| | | paperBookList: wx.getStorageSync("paperBookList"), |
| | | bookList: wx.getStorageSync("paperBookList") |
| | | that.setData({ |
| | | paperBookList: JSON.parse(wx.getStorageSync("paperBookList")), |
| | | bookList: JSON.parse(wx.getStorageSync("paperBookList")) |
| | | }) |
| | | } |
| | | if (wx.getStorageSync("electronicBookList")) { |
| | | this.setData({ |
| | | electronicBookList: wx.getStorageSync("electronicBookList") |
| | | that.setData({ |
| | | electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList")) |
| | | }) |
| | | } |
| | | this.getSelectBookCount(); |
| | | this.getSelectPaperBookCount(); |
| | | this.getPaperType(); |
| | | that.getSelectBookCount(); |
| | | that.getSelectPaperBookCount(); |
| | | that.getPaperType(); |
| | | } |
| | | }, |
| | | |
| | |
| | | userInfo: null, |
| | | path: '*', |
| | | pathList: [], |
| | | |
| | | bookList: [], |
| | | //高级分类 |
| | | iconList: { |
| | |
| | | //一级分类 |
| | | stairList: { |
| | | value: '', |
| | | options: [], |
| | | options: [{ |
| | | value: "", |
| | | label: "一级分类", |
| | | }], |
| | | }, |
| | | //二级分类 |
| | | secondList: { |
| | | value: [], |
| | | options: [], |
| | | }, |
| | | //重点项目 |
| | | majorProjectList: { |
| | | value: [], |
| | | options: [], |
| | | }, |
| | | //新形态教材 |
| | | newTextBook: { |
| | | value: [], |
| | | options: [], |
| | | }, |
| | |
| | | name: '', |
| | | code: '', |
| | | }, |
| | | |
| | | stairCode: '', // 一级分类选中项 |
| | | secondCode: '', // 二级分类选中项 |
| | | sort: '', // 排序 |
| | |
| | | paperBookCount: 0, //纸质书剩余次数 |
| | | ebookCount: 0, //电子书剩余次数 |
| | | num: 0, |
| | | x: 280, |
| | | y: 300, |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | let that = this; |
| | | const systInfo = wx.getSystemInfoSync(); |
| | | const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 |
| | | const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度 |
| | | this.setData({ |
| | | that.setData({ |
| | | barHeight: systInfo.statusBarHeight, |
| | | navBarHeight: navBarHeight, |
| | | }); |
| | | // 搜索赋值 |
| | | if (options && options.searchValue) { |
| | | this.setData({ |
| | | that.setData({ |
| | | searchValue: options.searchValue, |
| | | }); |
| | | } |
| | | // 高级分类赋值 |
| | | if (options && options.assortCode) { |
| | | this.setData({ |
| | | that.setData({ |
| | | assortCheck: { |
| | | name: options.assorName, |
| | | code: options.assortCode, |
| | |
| | | }, |
| | | }); |
| | | } |
| | | if (this.data.assortCheck.code) { |
| | | if (that.data.assortCheck.code) { |
| | | // 获取一级分类 |
| | | this.getStairList(this.data.assortCheck.code); |
| | | ththatis.getStairList(that.data.assortCheck.code); |
| | | } |
| | | // 一级分类和path赋值 |
| | | if (options && options.assortCode && options.stairCode) { |
| | | this.setData({ |
| | | that.setData({ |
| | | 'stairList.value': options.stairCode, |
| | | stairCode: options.stairCode, |
| | | path: `${options.assortCode}\\${options.stairCode}`, |
| | |
| | | } |
| | | // 二级分类赋值 |
| | | if (options && options.secondCode) { |
| | | this.setData({ |
| | | that.setData({ |
| | | secondCode: options.secondCode, |
| | | pathList: [{ |
| | | Path: options.secondCode, |
| | |
| | | }], |
| | | }) |
| | | } |
| | | this.getIconTypeList(); |
| | | // 获取重点项目 |
| | | this.getProjectList('bookClassification'); |
| | | //新形态教材 |
| | | this.getProjectList('newFormsTextbooks'); |
| | | that.getIconTypeList(); |
| | | |
| | | // 检查登录状态 |
| | | const token = wx.getStorageSync(app.config.tokenKey) |
| | | if (!token) { |
| | | loginInfo(app, (data) => { |
| | | if (data) { |
| | | this.setData({ |
| | | that.setData({ |
| | | userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)) |
| | | }) |
| | | this.getAlreadyPBookList() |
| | | this.getAlreadyEBookList() |
| | | that.getAlreadyPBookList() |
| | | that.getAlreadyEBookList() |
| | | // 获取申请次数 |
| | | this.getSelectPaperBookCount() |
| | | this.getSelectBookCount() |
| | | that.getSelectPaperBookCount() |
| | | that.getSelectBookCount() |
| | | |
| | | } |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | that.setData({ |
| | | userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)) |
| | | }) |
| | | |
| | |
| | | * 生命周期函数--监听页面显示 |
| | | */ |
| | | onShow() { |
| | | this.setData({ |
| | | let that = this; |
| | | that.setData({ |
| | | page: 1, |
| | | paperBookList: [], |
| | | electronicBookList: [] |
| | | }) |
| | | this.getAlreadyPBookList() |
| | | this.getAlreadyEBookList() |
| | | that.getAlreadyPBookList() |
| | | that.getAlreadyEBookList() |
| | | // 获取申请次数 |
| | | this.getSelectPaperBookCount() |
| | | this.getSelectBookCount() |
| | | that.getSelectPaperBookCount() |
| | | that.getSelectBookCount() |
| | | if (wx.getStorageSync("paperBookList") || wx.getStorageSync("electronicBookList")) { |
| | | if (wx.getStorageSync("paperBookList")) { |
| | | this.setData({ |
| | | paperBookList: wx.getStorageSync("paperBookList"), |
| | | that.setData({ |
| | | paperBookList: JSON.parse(wx.getStorageSync("paperBookList")), |
| | | }) |
| | | } |
| | | if (wx.getStorageSync("electronicBookList")) { |
| | | this.setData({ |
| | | electronicBookList: wx.getStorageSync("electronicBookList"), |
| | | that.setData({ |
| | | electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList")), |
| | | }) |
| | | } |
| | | this.setData({ |
| | | num: this.data.paperBookList.length + this.data.electronicBookList.length |
| | | that.setData({ |
| | | num: Number(that.data.paperBookList.length) + Number(that.data.electronicBookList.length) |
| | | }) |
| | | } |
| | | this.getBookList(false); |
| | | that.getBookList(false); |
| | | }, |
| | | goBack() { |
| | | wx.navigateBack(); |
| | |
| | | } |
| | | } |
| | | app.MG.store.getStoreChannelList(query).then((res) => { |
| | | let list = []; |
| | | let list = [{ |
| | | value: "", |
| | | label: "总分类", |
| | | }]; |
| | | if (res.datas.length > 0)( |
| | | res.datas.forEach((item) => { |
| | | item.value = item.refCode; |
| | |
| | | ) |
| | | this.setData({ |
| | | 'iconList.options': list, |
| | | 'iconList.value': this.data.assortCode, |
| | | 'iconList.value': this.data.assortCheck.code, |
| | | }); |
| | | }) |
| | | }, |
| | |
| | | }, |
| | | }; |
| | | app.MG.store.getStoreChannelList(query).then(async (res) => { |
| | | let options = []; |
| | | let options = [{ |
| | | value: "", |
| | | label: "一级分类", |
| | | }]; |
| | | if (res.datas.length > 0) { |
| | | for (let index = 0; index < res.datas.length; index++) { |
| | | let item = res.datas[index]; |
| | |
| | | }) |
| | | }); |
| | | }, |
| | | // 获取重点项目 |
| | | getProjectList(type) { |
| | | const options = []; |
| | | const arr = []; |
| | | let array = []; |
| | | const query = { |
| | | refCodes: [type], |
| | | }; |
| | | app.MG.store.getProductTypeField(query).then((res) => { |
| | | array = JSON.parse(res[0].config).option; |
| | | for (let index = 0; index < array.length; index++) { |
| | | const element = array[index]; |
| | | if (element.child) { |
| | | for (let index = 0; index < element.child.length; index++) { |
| | | const item = element.child[index]; |
| | | arr.push(item); |
| | | } |
| | | } |
| | | } |
| | | if (type == 'bookClassification') { |
| | | for (let index = 0; index < arr.length; index++) { |
| | | const element = arr[index]; |
| | | options.push({ |
| | | value: element.value, |
| | | label: element.name, |
| | | }); |
| | | } |
| | | this.setData({ |
| | | 'majorProjectList.options': options, |
| | | }); |
| | | } else if (type == 'newFormsTextbooks') { |
| | | for (let index = 0; index < arr.length; index++) { |
| | | const element = arr[index]; |
| | | options.push({ |
| | | value: element.value, |
| | | label: element.name, |
| | | }); |
| | | } |
| | | this.setData({ |
| | | 'newTextBook.options': options, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 获取图书列表 |
| | | getBookList(isReachBottom) { |
| | | let that = this; |
| | |
| | | this.setData({ |
| | | electronicBookList: eList, |
| | | }) |
| | | wx.setStorageSync("electronicBookList", eList); |
| | | wx.setStorageSync("electronicBookList", JSON.stringify(eList)); |
| | | } else { |
| | | pList.push(itemAttr) |
| | | this.setData({ |
| | | paperBookList: pList, |
| | | }) |
| | | wx.setStorageSync("paperBookList", pList); |
| | | wx.setStorageSync("paperBookList", JSON.stringify(pList)); |
| | | } |
| | | this.setData({ |
| | | num: this.data.num + 1 |
| | |
| | | <!-- <scroll-view scroll-x scroll-with-animation='true' class="srcolbox"> --> |
| | | <view class="srcolbox"> |
| | | <t-dropdown-menu> |
| | | <t-dropdown-item label="总分类" options="{{iconList.options}}" value="{{iconList.value}}" optionsColumns="2" bindchange="onChangeIcon" /> |
| | | <t-dropdown-item label="一级" options="{{stairList.options}}" value="{{stairList.value}}" optionsColumns="2" bindchange="onChangeStair" disabled="{{assortCheck.code == '' || stairList.options.length == 0}}" /> |
| | | <t-dropdown-item options="{{iconList.options}}" value="{{iconList.value}}" optionsColumns="2" bindchange="onChangeIcon" /> |
| | | <t-dropdown-item options="{{stairList.options}}" value="{{stairList.value}}" optionsColumns="2" bindchange="onChangeStair" disabled="{{assortCheck.code == '' || stairList.options.length == 0}}" /> |
| | | <t-dropdown-item label=" 二级" options="{{secondList.options}}" optionsColumns="2" multiple value="{{secondList.value}}" bind:confirm="onConfirmSecond" bind:change="onChangeSecond" bind:reset="onResetSecond" disabled="{{stairCode == '' || assortCheck.code == '' || secondList.options.length == 0}}" /> |
| | | <t-dropdown-item options="{{sortList.options}}" value="{{sortList.value}}" bindchange="onSortChange" /> |
| | | </t-dropdown-menu> |
| | |
| | | </view> |
| | | <view class="bookServices-list"> |
| | | <view class="list-body"> |
| | | <movable-area class="movable-area"> |
| | | <scroll-view class="scroll content" bind:scroll="onPageScroll" model:scroll-top="{{setScrollValue}}" scroll-y refresher-enabled="{{true}}" lower-threshold="{{200}}" refresher-threshold="{{80}}" refresher-default-style="none" refresher-triggered="{{triggered}}" bindrefresherpulling="{{refresh.onPulling}}" bindrefresherrefresh="onPullDownRefresh" bindscrolltolower="onReachBottom"> |
| | | <view slot="refresher" class="refresh-container"> |
| | | <view class="loading"> |
| | |
| | | <t-loading theme="circular" size="40rpx" text="加载中..." class="wrapper" /> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | | <t-back-top theme="round" wx:if="{{isBackTop}}" text="顶部" bind:to-top="onToTop"></t-back-top> |
| | | <movable-view class="movable-view" :x="{{x}}" :y="{{y}}" direction="all"> |
| | | <view class="applyBox" bindtap="goApply"> |
| | | <view class="box"> |
| | | <t-image src="/static/images/home/yangshuForm1.png" mode="heightFix" class="img" /> |
| | | <view class="num" wx:if="{{num > 0}}">{{num}}</view> |
| | | </view> |
| | | </view> |
| | | </movable-view> |
| | | </movable-area> |
| | | </view> |
| | | </view> |
| | | <t-back-top theme="round" wx:if="{{isBackTop}}" text="顶部" bind:to-top="onToTop"></t-back-top> |
| | | |
| | | </view> |
| | |
| | | |
| | | .header-scroll { |
| | | width: 100vw; |
| | | overflow-x: auto; |
| | | } |
| | | |
| | | .srcolbox { |
| | | width: 100%; |
| | | width: 900rpx; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | |
| | | margin-left: 10rpx; |
| | | } |
| | | |
| | | .movable-area { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .movable-view { |
| | | width: 184rpx; |
| | | height: 184rpx; |
| | | top: 800rpx; |
| | | left: 520rpx; |
| | | } |
| | | |
| | | .applyBox { |
| | | width: 184rpx; |
| | | height: 184rpx; |
| | | position: fixed; |
| | | bottom: 20%; |
| | | right: 0; |
| | | |
| | | } |
| | | |
| | | .applyBox .box { |
| | |
| | | .applyBox .box .t-image { |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | } |
| | | |
| | | .num { |
| | |
| | | start: 0, |
| | | size: 4 |
| | | }, |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }], |
| | | fields: { |
| | | liveTime: [], |
| | | lecturer: [], |
| | |
| | | getCourseTypeListList() { |
| | | const data = { |
| | | path: 'jsek_homepageDigitalCourses', |
| | | filterList: [], |
| | | queryType: '\\', |
| | | searchList: [], |
| | | size: '20', |
| | |
| | | sort: { |
| | | type: 'Asc', |
| | | field: 'LinkOrder' |
| | | } |
| | | }, |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }] |
| | | } |
| | | app.MG.store.getStoreChannelList(data).then((res) => { |
| | | if (res.datas && res.datas.length > 0) { |
| | |
| | | start: 0, |
| | | size: 4 |
| | | }, |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }], |
| | | fields: { |
| | | courseLeader: [], |
| | | affiliatedUnit: [], |
| | |
| | | getBookTypeList() { |
| | | const data = { |
| | | path: 'jsek_homepageBookService', |
| | | filterList: [], |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }], |
| | | queryType: '\\', |
| | | searchList: [], |
| | | size: '20', |
| | |
| | | start: 0, |
| | | size: 6 |
| | | }, |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }], |
| | | fields: { |
| | | author: [] |
| | | } |
| | |
| | | start: 0, |
| | | size: 3 |
| | | }, |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }], |
| | | fields: { |
| | | author: [] |
| | | } |
| | |
| | | start: 0, |
| | | size: 6 |
| | | }, |
| | | filterList: [{ |
| | | value: 'Normal', |
| | | field: 'state' |
| | | }], |
| | | fields: { |
| | | author: [], |
| | | } |