Merge refs/remotes/origin/master into refs/heads/master
| | |
| | | export default [ |
| | | { |
| | | id: 0, |
| | | text: '首页', |
| | | url: 'pages/home/home', |
| | | icon: '/static/images/home/Home@2x.png', |
| | | activeIcon: '/static/images/home/Home-click@2x.png' |
| | | }, |
| | | { |
| | | id: 1, |
| | | text: '图书服务', |
| | | url: 'pages/bookServices/assort/index', |
| | | icon: '/static/images/home/service@2x.png', |
| | |
| | | }, |
| | | |
| | | { |
| | | id: 2, |
| | | text: '学习', |
| | | url: 'pages/student/index', |
| | | icon: '/static/images/home/learn@2x.png', |
| | | activeIcon: '/static/images/home/learn-click@2x.png' |
| | | }, |
| | | { |
| | | id: 3, |
| | | text: '购物车', |
| | | url: 'pages/cart/index', |
| | | icon: '/static/images/home/cart@2x.png', |
| | | activeIcon: '/static/images/home/cart-click@2x.png' |
| | | }, |
| | | { |
| | | id: 4, |
| | | text: '个人中心', |
| | | url: 'pages/personalCenter/index', |
| | | icon: '/static/images/home/my@2x.png', |
| | |
| | | active: 0, |
| | | list: TabMenu, |
| | | }, |
| | | |
| | | observers: { |
| | | 'active': function (newValue) { |
| | | console.log('active变化', newValue); |
| | | } |
| | | }, |
| | | methods: { |
| | | onChange(event) { |
| | | this.setData({ active: event.detail.value }); |
| | | console.log(this.data.active); |
| | | console.log(event); |
| | | this.setData({ active: this.data.list[event.detail.value].id }); |
| | | const url = this.data.list[event.detail.value].url.startsWith('/') |
| | | ? this.data.list[event.detail.value].url |
| | | : `/${this.data.list[event.detail.value].url}` |
| | | wx.switchTab({ |
| | | url: this.data.list[event.detail.value].url.startsWith('/') |
| | | ? this.data.list[event.detail.value].url |
| | | : `/${this.data.list[event.detail.value].url}`, |
| | | url: url |
| | | }); |
| | | }, |
| | | |
| | |
| | | <t-tab-bar value="{{active}}" bindchange="onChange" split="{{false}}"> |
| | | <t-tab-bar-item wx:for="{{list}}" wx:for-item="item" wx:for-index="index" wx:key="index"> |
| | | <t-tab-bar-item wx:for="{{list}}" wx:for-item="item" wx:for-index="index" wx:key="{{item.id}}"> |
| | | <view class="custom-tab-bar-wrapper"> |
| | | <!-- <t-icon prefix="wr" name="{{item.icon}}" size="48rpx" /> |
| | | <view class="text">{{ item.text }}</view> --> |
| | | <!-- <t-image wx:if="{{active !== index}}" class="tabImg" src="{{item.icon}}" mode="heightFix" width="22" height="22" /> |
| | | <t-image wx:else class="tabImg" src="{{item.activeIcon}}" mode="heightFix" width="22" height="22" /> --> |
| | | <t-image class="tabImg" src="{{active == index ? item.activeIcon : item.icon}}" width="22" height="22"></t-image> |
| | | <t-image class="tabImg" src="{{active == item.id ? item.activeIcon : item.icon}}" width="22" height="22"></t-image> |
| | | <view class="text">{{ item.text }}</view> |
| | | </view> |
| | | </t-tab-bar-item> |
| | |
| | | rejectCause: { |
| | | type: String, |
| | | value: '' |
| | | }, |
| | | applyResourceLoading: { |
| | | type: Boolean, |
| | | value: false, |
| | | } |
| | | }, |
| | | data: { |
| | |
| | | }, |
| | | methods: { |
| | | applyResource() { |
| | | debugger |
| | | var myEventDetail = {} // detail对象,提供给事件监听函数 |
| | | var myEventOption = { |
| | | bubbles: true, |
| | | composed: true, |
| | | // capturePhase: true, |
| | | } // 触发事件的选项 |
| | | this.triggerEvent('applyResource', myEventDetail, myEventOption) |
| | | }, |
| | |
| | | </view> |
| | | <view class="btn-box"> |
| | | <t-button wx:if="{{applyState == 'Reject'}}" bind:tap="checkCause" style="height: 50rpx;" class="rejectBtn" bind:tap="showDialog">查看原因</t-button> |
| | | <t-button wx:if="{{applyState == 'none' || applyState == 'Reject'}}" theme="primary" bind:tap="applyResource" class="applyBtn" style="height: 50rpx;">申请</t-button> |
| | | <t-button wx:if="{{applyState == 'none' || applyState == 'Reject'}}" theme="primary" bind:tap="applyResource" class="applyBtn" style="height: 50rpx;" loading="{{applyResourceLoading}}">申请</t-button> |
| | | </view> |
| | | </view> |
| | | <!-- 未通过原因 --> |
| | | <t-dialog visible="{{showRejectDialog}}" title="提示" confirm-btn="{{ confirmBtn }}" bind:confirm="closeDialog"> |
| | | <t-dialog visible="{{showRejectDialog}}" title="提示" confirm-btn="{{ confirmBtn }}" bind:confirm="closeDialog" class="notPassed"> |
| | | <view slot="content"> |
| | | <text class="cause-title">资源下载申请未通过,解决问题后可点击“申请”按钮重新提交申请</text> |
| | | <view class="cause-content">原因:{{ rejectCause }}</view> |
| | |
| | | |
| | | .cause-content { |
| | | line-height: 40rpx; |
| | | } |
| | | |
| | | .notPassed { |
| | | --td-button-primary-bg-color: #ff6c00; |
| | | --td-button-primary-border-color: #ff6c00; |
| | | --td-button-primary-active-bg-color: #ff984d; |
| | | --td-button-primary-active-border-color: #ff984d; |
| | | } |
| | |
| | | }, |
| | | // 加入购物车 |
| | | async onCloudShoppingCart() { |
| | | |
| | | |
| | | |
| | | let requests = [] |
| | | const item = this.data.cloudShoppingCart |
| | | console.log(item, 'item'); |
| | |
| | | <view class="tree"> |
| | | <t-collapse default-value="{{activeValues}}" bind:change="handleChange"> |
| | | <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{index}}" expandIcon> |
| | | <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{index}}" expandIcon disabled="{{!item.children}}"> |
| | | <view slot="header" class="header-title"> |
| | | <view wx:if="{{tab == 'jsek_cloudLearning'}}"> |
| | | <t-checkbox icon="rectangle" checked="{{item.checked}}" data-item="{{item}}" bind:change="checkResourceTitle" /> |
| | |
| | | residue: 0, // 组卷剩余次数 |
| | | mockList: [] // 用户组卷提交信息 |
| | | }, |
| | | flag: true |
| | | flag: true, |
| | | applyResourceLoading: false |
| | | }, |
| | | |
| | | |
| | |
| | | }) |
| | | } |
| | | } |
| | | console.log('组卷信息', this.data.mockData); |
| | | this.setData({ |
| | | 'bookDetail.publicationDate': this.formatDate(this.data.bookDetail.publicationDate), |
| | | 'bookDetail.class': className, |
| | |
| | | 'bookDetail.oldPrice': this.numFormat(this.data.bookDetail.oldPrice), |
| | | 'bookDetail.paperPrice': this.numFormat(this.data.bookDetail.paperPrice), |
| | | }); |
| | | console.log('图书信息', this.data.bookDetail); |
| | | }); |
| | | |
| | | }, |
| | |
| | | teach: list, |
| | | loading: false |
| | | }) |
| | | console.log('教学资源', this.data.teach); |
| | | this.findChildIds(this.data.teach, this.data.openTeachids = []) |
| | | } else if (type.refCode == 'jsek_cloudLearning') { |
| | | res.datas.cmsDatas[0].datas.forEach(item => { |
| | |
| | | |
| | | // 图书添加购物车 |
| | | async addBookShopcCar() { |
| | | |
| | | const token = wx.getStorageSync('jsek-token') |
| | | if (!token) { |
| | | return wx.getUserProfile({ |
| | | desc: '用户登录', |
| | | success: (res) => { |
| | | console.log(res); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | const shoppingCartGetId = [] |
| | | |
| | | let query = { |
| | |
| | | }) |
| | | } |
| | | }) |
| | | console.log('有效日期', this.data.deadline); |
| | | this.setData({ |
| | | applyResourceLoading: false |
| | | }) |
| | | }, |
| | | // 申请教学资源 |
| | | applyResource() { |
| | | this.setData({ |
| | | applyResourceLoading: true |
| | | }) |
| | | // let role = userStore.userInfo ? userStore.userInfo.role : null |
| | | // if (role) { |
| | | // if (role == 'Teacher') { |
| | |
| | | } |
| | | app.MG.ugc.newTopicMessage(query).then((res) => { |
| | | if (res) { |
| | | Message.success('申请已提交,请待审核通过后下载') |
| | | wx.showToast({ |
| | | title: '申请已提交,请待审核通过后下载', |
| | | }) |
| | | } |
| | | this.getApplyInfo(this.data.bookDetail.id) |
| | | }) |
| | |
| | | async allAddShoppiingCar() { |
| | | const child = this.selectComponent('#learn-resource') |
| | | const token = wx.getStorageSync('jsek-token') |
| | | // if (!token) { |
| | | // return wx.getUserProfile({ |
| | | // desc: '用户登录', |
| | | // success: (res) => { |
| | | // console.log(res); |
| | | // } |
| | | // }) |
| | | // } |
| | | if (!token) { |
| | | return wx.getUserProfile({ |
| | | desc: '用户登录', |
| | | success: (res) => { |
| | | console.log(res); |
| | | } |
| | | }) |
| | | } |
| | | let shopList = this.handleTreeData(this.data.learn).filter((item) => this.resourceIsBuy(item)) |
| | | this.getShoppingCartProductGet() |
| | | if (!shopList.length) return wx.showToast({ |
| | |
| | | } |
| | | else if (this.data.tabValue == 'jsek_cloudLearning') { |
| | | const tree = this.selectComponent('#tree') |
| | | |
| | | |
| | | tree.onCloudShoppingCart() |
| | | |
| | | |
| | |
| | | "suggest": "/packageBookService/pages/bookServices/detail/components/suggest/suggest", |
| | | "t-loading": "tdesign-miniprogram/loading/loading", |
| | | "t-dialog": "tdesign-miniprogram/dialog/dialog", |
| | | "t-toast": "tdesign-miniprogram/toast/toast" |
| | | "t-toast": "tdesign-miniprogram/toast/toast", |
| | | "t-empty": "tdesign-miniprogram/empty/empty" |
| | | }, |
| | | "navigationStyle": "custom", |
| | | "onReachBottomDistance": 200 |
| | |
| | | <view class="book-resource"> |
| | | <t-tabs defaultValue="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel" class="tab-class"> |
| | | <t-tab-panel label="图书简介" value="brief" style="{{tabPanelstyle}}"> |
| | | <book-brief content="{{bookDetail.content}}" authorIntroduction="{{bookDetail.authorIntroduction}}"></book-brief> |
| | | <book-brief content="{{bookDetail.content}}" authorIntroduction="{{bookDetail.authorIntroduction}}" wx:if="{{bookDetail.content && bookDetail.authorIntroduction}}"></book-brief> |
| | | <view wx:if="{{!bookDetail.content && !bookDetail.authorIntroduction}}" class="noData"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | </t-tab-panel> |
| | | <t-tab-panel label="电子书" value="1" style="{{tabPanelstyle}}"> |
| | | 电子书 |
| | | </t-tab-panel> |
| | | <t-tab-panel label="教学资源" value="jsek_teachingResources" class="{{loading ? 'loading': ''}}"> |
| | | <view wx:if="{{!loading && teach.length}}"> |
| | | <teach-resource applyState="{{applyState}}" rejectCause="{{rejectCause}}" bind:applyResource="applyResource"></teach-resource> |
| | | <tree bookInfo="{{bookDetail}}" treeList="{{teach}}" tab="{{tabValue}}" applyState="{{applyState}}" bind:downloadTeach="downloadTeach" openTeachids="{{openTeachids}}"></tree> |
| | | <teach-resource applyState="{{applyState}}" rejectCause="{{rejectCause}}" bind:applyResource="applyResource" applyResourceLoading="{{applyResourceLoading}}"></teach-resource> |
| | | <tree bookInfo="{{bookDetail}}" treeList="{{teach}}" tab="{{tabValue}}" applyState="{{applyState}}" bind:downloadTeach="downloadTeach" openTeachids="{{openTeachids}}" wx:if="{{teach.length}}"></tree> |
| | | </view> |
| | | <t-loading theme="circular" size="60rpx" class="loading" loading="{{loading}}" /> |
| | | <!-- <view wx:if="{{!teach.length && !loading}}" class="noData"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> --> |
| | | </t-tab-panel> |
| | | <t-tab-panel label="云学习" value="jsek_cloudLearning" style="{{tabPanelstyle}}"> |
| | | <view wx:if="{{!loading && learn.length}}"> |
| | |
| | | </view> |
| | | <view class="btn-text">纸质样书申请</view> |
| | | </view> |
| | | <view class="shopCar {{tabValue == 'jsek_teachingResources' ? 'disabledColor' : 'shopCarColor' }}" bind:tap="addBookShopcCar">加入购物车</view> |
| | | <view class="buy {{tabValue == 'jsek_teachingResources' ? 'disabledColor' : 'buyColor' }}" bind:tap="buyBtn">立即购买</view> |
| | | <view class="shopCar {{(tabValue == 'jsek_teachingResources' || tabValue == 'jesk_note') ? 'disabledColor' : 'shopCarColor' }}" bind:tap="addBookShopcCar">加入购物车</view> |
| | | <view class="buy {{(tabValue == 'jsek_teachingResources' || tabValue == 'jesk_note') ? 'disabledColor' : 'buyColor' }}" bind:tap="buyBtn">立即购买</view> |
| | | </view> |
| | | </scroll-view> |
| | | <!-- 我要建议弹窗 --> |
| | |
| | | --td-button-primary-border-color: #ff6c00; |
| | | --td-button-primary-active-bg-color: #ff984d; |
| | | --td-button-primary-active-border-color: #ff984d; |
| | | } |
| | | |
| | | .noData { |
| | | /* width: 500rpx; |
| | | height: 500rpx; */ |
| | | } |
| | |
| | | sort: '', // 排序 |
| | | enable: false, |
| | | loadingProps: { |
| | | size: '50rpx', |
| | | size: '50rpx' |
| | | }, |
| | | loading: false, |
| | | noData: false |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <t-pull-down-refresh value="{{enable}}" loadingProps="{{loadingProps}}" loadingTexts="{{['下拉刷新', '松手刷新', '正在刷新', '刷新完成']}}" bind:refresh="onRefresh"> |
| | | <t-pull-down-refresh value="{{enable}}" loadingProps="{{loadingProps}}" loadingTexts="{{['下拉刷新', '松手刷新', '正在刷新', '刷新完成']}}" bind:refresh="onRefresh" class="down-refresh"> |
| | | <scroll-view scroll-y="{{true}}" class="list-container" bindrefresherrefresh="onPullDownRefresh" bindscrolltolower="onReachBottom"> |
| | | <view class="assort-title"> |
| | | <view class="title-box"></view> |
| | |
| | | <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-img"> |
| | | <t-image src="{{item.icon ? item.icon : '/static/images/default-book-img.png'}}" width="105" height="145" aria-label="{item.name{}}" /> |
| | | <t-image src="{{item.icon ? item.icon : '/static/images/default-book-img.png'}}" aria-label="{item.name{}}" mode="widthFix" /> |
| | | </view> |
| | | <view class="book-name book-color">{{ item.name}}</view> |
| | | <view class="book-author book-color">{{item.author}}</view> |
| | |
| | | color: #333; |
| | | } |
| | | |
| | | .book-img image { |
| | | object-fit: contain; |
| | | .book-img { |
| | | width: 210rpx; |
| | | height: 290rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16); |
| | | } |
| | | |
| | | |
| | | .book-name { |
| | | margin-top: 24rpx; |
| | | color: #333; |
| | |
| | | bookExhibitionList: [], |
| | | navBarHeight: '', |
| | | barHeight: '', |
| | | bookName: '' |
| | | subtitleName: '', |
| | | }, |
| | | |
| | | /** |
| | |
| | | |
| | | |
| | | this.setData({ |
| | | bookName: options.bookName |
| | | bookName: options.bookName, |
| | | subtitleName: options.subtitleName |
| | | }) |
| | | |
| | | const passId = options.id |
| | |
| | | this.setData({ |
| | | bookExhibitionList: res.datas |
| | | }) |
| | | console.log(this.data.bookExhibitionList, 88888); |
| | | console.log(this.data.bookExhibitionList, 'bookExhibitionList'); |
| | | }) |
| | | }, |
| | | onBookDetails(event) { |
| | | const item = event.currentTarget.dataset.item; |
| | | console.log(item, 'item'); |
| | | // wx.navigateTo({ |
| | | // url: '/pages/bookExhibitionDetails/index?id?name=' + item.id + item.name // 假设跳转到详情页面,并传递了id参数 |
| | | // }); |
| | | wx.navigateTo({ |
| | | url: '/packageBookService/pages/bookServices/detail/index?id=' + item.id + '&name=' + item.name |
| | | }); |
| | | }, |
| | | goBack() { |
| | | wx.navigateBack(); |
| | |
| | | <view> |
| | | <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" /> |
| | | </view> |
| | | <view class="navbar-title">{{bookName}}</view> |
| | | <view class="navbar-title">{{subtitleName}}</view> |
| | | </view> |
| | | |
| | | <view class="headBox"> |
| | | <text class="titleBox">{{bookName}}</text> |
| | | <view class="titleBox">{{bookName}}</view> |
| | | <view class="informationBox"> |
| | | <text class="informationNameBox">发布人:{{bookCreator}}</text> |
| | | <text class="informationTimeBox">发布日期:{{bookBeginDate}}</text> |
| | |
| | | <image class="booksImageBox" src="{{item.icon}}" mode="" /> |
| | | </view> |
| | | <view class="booksTextBox"> <text>{{item.name}}</text></view> |
| | | |
| | | <view class="boosAuthor">{{item.author}}</view> |
| | | </view> |
| | | </view> |
| | |
| | | } |
| | | |
| | | .titleBox { |
| | | height: 60rpx; |
| | | |
| | | font-weight: 800; |
| | | font-size: 45rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | padding: 0 30rpx; |
| | | /* text-indent: 6%; */ |
| | | padding: 10rpx 30rpx; |
| | | |
| | | /* overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 1; */ |
| | | margin: 0 130rpx; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 1; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .informationBox { |
| | |
| | | font-weight: bold; |
| | | width: 280rpx; |
| | | margin: 30rpx 25rpx; |
| | | /* overflow: hidden; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; */ |
| | | white-space: nowrap; |
| | | |
| | | } |
| | | |
| | | .outsideBooksBox { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .boosAuthor { |
| | | font-family: PingFang SC, PingFang SC; |
| | | font-weight: 400; |
| | | font-size: 22rpx; |
| | | color: #949494; |
| | | margin: 30rpx 25rpx; |
| | | } |
| | |
| | | options: [], |
| | | }, |
| | | navBarHeight: '', |
| | | barHeight: '' |
| | | |
| | | barHeight: '', |
| | | windowHeight: '', |
| | | }, |
| | | |
| | | |
| | |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad(options) { |
| | | // 获取屏幕高度 |
| | | wx.getSystemInfo({ |
| | | success: function (res) { |
| | | // this.setData({ |
| | | // windowHeight: res.windowHeight |
| | | // }) |
| | | |
| | | // 获取节点的类名 |
| | | var query = wx.createSelectorQuery(); |
| | | query.select('.assembleContent').boundingClientRect(); |
| | | query.exec(function (res) { |
| | | |
| | | console.log(res, 'res'); |
| | | let node = res[0]; |
| | | node.setStyle({ |
| | | backgroundColor: '#0256b9', |
| | | }) |
| | | // // 修改节点样式 |
| | | // if (node) { |
| | | // node.setStyle({ |
| | | // backgroundColor: 'red', |
| | | // color: 'white' |
| | | // }); |
| | | // } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | // console.log(this.data.filteredItems, 88888); |
| | | const systInfo = wx.getSystemInfoSync(); |
| | | const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 |
| | |
| | | const item = event.currentTarget.dataset.item; |
| | | console.log(item); |
| | | wx.navigateTo({ |
| | | url: '/pages/bookExhibitionDetails/index?id=' + item.id + '&bookName=' + item.name // 假设跳转到详情页面,并传递了id参数 |
| | | url: '/pages/bookExhibitionDetails/index?id=' + item.id + '&bookName=' + item.name + '&subtitleName=' + item.subtitleName // 假设跳转到详情页面,并传递了id参数 |
| | | }); |
| | | }, |
| | | // 搜索框 |
| | |
| | | <view class="assembleContent"> |
| | | <view class="titleBox"> |
| | | <view class="frameBox"></view> |
| | | <image class="titleTextBox" src="/static/images/bookExhibitionList/zhuantitaolun.png" mode="aspectFit" /> |
| | | <view class="titleTextBox"> |
| | | <image src="/static/images/bookExhibitionList/zhuantitaolun.png" mode="heightFix" /> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="outside"> |
| | | <view wx:if="{{bookExhibitionList.length }}"> |
| | | <t-empty icon="folder-open" description="暂无数据" /> |
| | | </view> |
| | | |
| | | <view class="contentBox" wx:for="{{bookExhibitionList}}" wx:key="index" wx:for-item="item" wx:for-index="index" bindtap="onBookExhibitionDetails" data-item="{{item}}"> |
| | | <image wx:if="{{item.icon}}" src="{{item.icon}}" mode="aspectFit" /> |
| | | <image wx:else="" src="/static/images/bookExhibitionList/banner.png" mode="" /> |
| | | <view class="imageBox"> |
| | | <image wx:if="{{item.icon}}" src="{{item.icon}}" mode="widthFix" /> |
| | | <image wx:else src="/static/images/bookExhibitionList/banner.png" mode="heightFix" /> |
| | | </view> |
| | | |
| | | <view class="textBox" title="{{item.subtitleName}}"> <text>{{item.subtitleName}}</text></view> |
| | | </view> |
| | | |
| | |
| | | background-color: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | } |
| | | |
| | | .navbar-title { |
| | | white-space: nowrap; |
| | | /* overflow: hidden; */ |
| | | text-overflow: ellipsis; |
| | | color: #0F1214; |
| | | font-size: 40rpx; |
| | |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | margin: 15px; |
| | | |
| | | |
| | | } |
| | | |
| | | .contentBox { |
| | | width: 330rpx; |
| | | /* height: 231rpx; */ |
| | | /* border: 1px #000 solid; */ |
| | | margin: 10px 0; |
| | | background-color: #fff; |
| | | |
| | | } |
| | | |
| | | image { |
| | | width: 327rpx; |
| | | .contentBox .imageBox { |
| | | width: 330rpx; |
| | | height: 128rpx; |
| | | } |
| | | |
| | | |
| | | |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | |
| | | .textBox { |
| | | font-family: PingFang SC, PingFang SC; |
| | | width: 280rpx; |
| | | /* height: 75rpx; */ |
| | | font-size: 25rpx; |
| | | |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; |
| | | /* text-align: center; */ |
| | | margin: 20rpx; |
| | | |
| | | } |
| | | |
| | | |
| | | .example-search { |
| | | /* width: 300px; */ |
| | | background-color: #fff; |
| | | /* padding: 16rpx 32rpx; */ |
| | | |
| | | } |
| | | |
| | | .iconBox { |
| | |
| | | padding-top: 30rpx; |
| | | } |
| | | |
| | | |
| | | |
| | | .frameBox { |
| | | width: 7rpx; |
| | | height: 54rpx; |
| | |
| | | |
| | | .titleTextBox { |
| | | margin-left: 5px; |
| | | width: 150rpx; |
| | | width: 200rpx; |
| | | height: 37rpx; |
| | | /*宽 3.7 高1 */ |
| | | } |
| | | |
| | | .titleTextBox image { |
| | | width: 100%; |
| | | height: 100%; |
| | | image-rendering: -webkit-optimize-contrast; |
| | | } |
| | | |
| | | .classification { |
| | |
| | | |
| | | .assembleContent { |
| | | background-color: #F2F3F8; |
| | | |
| | | } |
| | | |
| | | /* .t-dropdown-menu__item--active { |
| | | color: #0F1214; |
| | | } */ |
| | | |
| | | .t-dropdown-menu:after, |
| | | .t-dropdown-menu::after { |
| | | height: 0px; |
| | | } |
| | | |
| | | |
| | | .t-dropdown-item__body, |
| | | .t-dropdown-item__footer, |
| | |
| | | .t-dropdown-menu__item--active { |
| | | height: 68rpx !important; |
| | | background: #F6F6F6 !important; |
| | | /* border-radius: 40rpx 40rpx 0 0; */ |
| | | } |
| | | |
| | | .t-dropdown-menu__item--active, |
| | |
| | | /* background-color: #FF6C00 !important; */ |
| | | /* } */ |
| | | |
| | | /* .menu--t-dropdown-menu::after { |
| | | /* |
| | | */ |
| | | .menu--t-dropdown-menu::after { |
| | | background-color: var(--td-component-border, var(--td-gray-color-4, #fff)) !important; |
| | | |
| | | } |
| | | */ |
| | | } |
| | |
| | | <view class="class-content"> |
| | | <view wx:for="{{item.children}}" wx:for-item="citem" wx:key="id" class="book-box" bind:tap="goPageList" data-stair="{{citem}}" data-tabData="{{item}}" wx:if="{{item.children.length}}"> |
| | | <view class="assort-img"> |
| | | <image src="{{citem.icon ? citem.icon : '/static/images/bookService/assort/book-img.png'}}" mode="heightFix" /> |
| | | <image src="{{citem.icon ? citem.icon : '/static/images/bookService/assort/book-img.png'}}" mode="widthFix" /> |
| | | </view> |
| | | <view class="classify">{{citem.name}}</view> |
| | | </view> |
| | |
| | | |
| | | .book-box image { |
| | | height: 142rpx; |
| | | object-fit: contain !important; |
| | | } |
| | | |
| | | .classify { |
| | |
| | | } |
| | | |
| | | .assort-img { |
| | | display: flex; |
| | | width: 116rpx; |
| | | height: 142rpx; |
| | | box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16); |
| | |
| | | }, |
| | | onShow() { |
| | | this.shoppingCartGet(); |
| | | this.setData({ totalPrice: 0.00, selectedCount: 0, checkAll: false, }) |
| | | |
| | | }, |
| | | onDelete(e) { |
| | | const item = e.currentTarget.dataset.item; |
| | |
| | | padding: 30rpx; |
| | | background: #F2F3F8; |
| | | border-radius: 18rpx 18rpx 18rpx 18rpx; |
| | | padding-bottom: 230rpx; |
| | | padding-bottom: 325rpx; |
| | | /* height: 260rpx; */ |
| | | } |
| | | |
| | |
| | | console.log(e.currentTarget.dataset.item); |
| | | const item = e.currentTarget.dataset.item |
| | | wx.navigateTo({ |
| | | url: '/packageBookService/pages/bookServices/detail/index?id=' + item.id + '&name' + item.name |
| | | url: '/packageBookService/pages/bookServices/detail/index?id=' + item.id + '&name=' + item.name |
| | | |
| | | |
| | | }) |