闫增涛
2024-03-21 b273028fde3178d2643312c66d943b12f2c1bfad
图书分类、图书列表、图书详情·页测试bug修改
17个文件已修改
107 ■■■■ 已修改文件
custom-tab-bar/data.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
custom-tab-bar/index.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
custom-tab-bar/index.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/teachResource/index.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/teachResource/index.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/teachResource/index.wxss 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/tree/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/tree/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.wxml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.wxss 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/list/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/list/index.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/list/index.wxss 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/bookServices/assort/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/bookServices/assort/index.wxss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
custom-tab-bar/data.js
@@ -1,11 +1,13 @@
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',
@@ -13,18 +15,21 @@
  },
  {
    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',
custom-tab-bar/index.js
@@ -4,15 +4,20 @@
    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);
      wx.switchTab({
        url: this.data.list[event.detail.value].url.startsWith('/')
      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}`,
        : `/${this.data.list[event.detail.value].url}`
      wx.switchTab({
        url: url
      });
    },
custom-tab-bar/index.wxml
@@ -1,11 +1,11 @@
<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>
packageBookService/pages/bookServices/detail/components/teachResource/index.js
@@ -7,6 +7,10 @@
    rejectCause: {
      type: String,
      value: ''
    },
    applyResourceLoading: {
      type: Boolean,
      value: false,
    }
  },
  data: {
@@ -15,11 +19,11 @@
  },
  methods: {
    applyResource() {
      debugger
      var myEventDetail = {} // detail对象,提供给事件监听函数
      var myEventOption = {
        bubbles: true,
        composed: true,
        // capturePhase: true,
      } // 触发事件的选项
      this.triggerEvent('applyResource', myEventDetail, myEventOption)
    },
packageBookService/pages/bookServices/detail/components/teachResource/index.wxml
@@ -19,11 +19,11 @@
  </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>
packageBookService/pages/bookServices/detail/components/teachResource/index.wxss
@@ -89,3 +89,10 @@
.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;
}
packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -82,8 +82,6 @@
    },
    // 跳转音视频播放器
    goPlayer(e) {
      console.log(e);
      debugger
      const item = e.currentTarget.dataset.item
      const parent = e.currentTarget.dataset.parent
      let url
packageBookService/pages/bookServices/detail/components/tree/index.wxml
@@ -1,6 +1,6 @@
<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" />
packageBookService/pages/bookServices/detail/index.js
@@ -51,7 +51,8 @@
      residue: 0, // 组卷剩余次数
      mockList: [] // 用户组卷提交信息
    },
    flag: true
    flag: true,
    applyResourceLoading: false
  },
@@ -262,7 +263,6 @@
          })
        }
      }
      console.log('组卷信息', this.data.mockData);
      this.setData({
        'bookDetail.publicationDate': this.formatDate(this.data.bookDetail.publicationDate),
        'bookDetail.class': className,
@@ -270,6 +270,7 @@
        'bookDetail.oldPrice': this.numFormat(this.data.bookDetail.oldPrice),
        'bookDetail.paperPrice': this.numFormat(this.data.bookDetail.paperPrice),
      });
      console.log('图书信息', this.data.bookDetail);
    });
  },
@@ -426,6 +427,7 @@
                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 => {
@@ -706,10 +708,15 @@
        })
      }
    })
    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') {
@@ -732,7 +739,9 @@
    }
    app.MG.ugc.newTopicMessage(query).then((res) => {
      if (res) {
        Message.success('申请已提交,请待审核通过后下载')
        wx.showToast({
          title: '申请已提交,请待审核通过后下载',
        })
      }
      this.getApplyInfo(this.data.bookDetail.id)
    })
packageBookService/pages/bookServices/detail/index.json
@@ -16,7 +16,8 @@
    "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
packageBookService/pages/bookServices/detail/index.wxml
@@ -95,17 +95,23 @@
  <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}}">
@@ -137,8 +143,8 @@
      </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>
<!-- 我要建议弹窗 -->
packageBookService/pages/bookServices/detail/index.wxss
@@ -296,3 +296,8 @@
  --td-button-primary-active-bg-color: #ff984d;
  --td-button-primary-active-border-color: #ff984d;
}
.noData {
  /* width: 500rpx;
  height: 500rpx; */
}
packageBookService/pages/bookServices/list/index.js
@@ -45,7 +45,7 @@
    sort: '', // 排序
    enable: false,
    loadingProps: {
      size: '50rpx',
      size: '50rpx'
    },
    loading: false,
    noData: false
packageBookService/pages/bookServices/list/index.wxml
@@ -25,7 +25,7 @@
      </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>
@@ -35,7 +35,7 @@
        <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>
packageBookService/pages/bookServices/list/index.wxss
@@ -86,11 +86,16 @@
  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;
pages/bookServices/assort/index.wxml
@@ -34,7 +34,7 @@
            <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>
pages/bookServices/assort/index.wxss
@@ -127,7 +127,6 @@
.book-box image {
  height: 142rpx;
  object-fit: contain !important;
}
.classify {
@@ -141,6 +140,7 @@
}
.assort-img {
  display: flex;
  width: 116rpx;
  height: 142rpx;
  box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.16);