闫增涛
2024-04-26 960c49a8b3ac11dff27cad71137f986f90f00923
样书申请、详情页资源显示bug修改
11个文件已修改
892 ■■■■ 已修改文件
packageBookService/pages/bookServices/detail/buyResource/index.js 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/tree/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.js 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.wxml 296 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/list/index.js 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/list/index.wxml 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/applicationForm/index.js 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/applicationForm/index.wxml 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/index.js 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/index.wxml 157 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/sampleBookList/index.wxss 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/buyResource/index.js
@@ -86,6 +86,44 @@
    wx.navigateBack();
  },
  // 获取所有子项数量
  getChildrenItem(data) {
    let num = 0
    function getNum(data) {
      for (let index = 0; index < data.length; index++) {
        const item = data[index];
        if (item.sysType == 'CmsItem') {
          num += 1
        } else if (item.sysType == 'CmsFolder') {
          if (item.children && item.children.length)
            getNum(item.children)
        }
      }
    }
    getNum(data)
    return num
  },
  // 给·目录添加子项数量
  changeResourceChildren(list) {
    const changeList = (list) => {
      for (let index = 0; index < list.length; index++) {
        const item = list[index];
        if (item.sysType == 'CmsFolder' && item.children && item.children.length) {
          item.childrenItem = this.getChildrenItem([item])
          changeList(item.children)
        } else if (item.sysType == 'CmsFolder' && item.children && !item.children.length) {
          item.childrenItem = 0
        } else if (item.sysType == 'CmsFolder' && !item.children) {
          item.childrenItem = 0
        }
      }
    }
    changeList(list)
    return list
  },
  // 扁平化数据转换tree
  getTreeList(rootList, pathLength, newArr, path) {
    for (const item of rootList) {
@@ -103,8 +141,12 @@
          }
        }
        // newArr.push(item)
        // 在插入过程中对数据进行排序
        // 在插入过程中对数据进行排序  并且去除已经领取和购买的
        if (item.sysType == 'CmsFolder') {
        newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item)
        } else if (item.sysType == 'CmsItem' && this.resourceIsBuy(item)) {
          newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item)
        }
      }
    }
    //给数组里面再添加一个children的空数组
@@ -237,16 +279,18 @@
          }
        });
        // 显示 需要购买的和需要免费领取的
        const arr = res.datas.cmsDatas[0].datas.filter(item => this.resourceIsBuy(item))
        if (!arr.length) {
          return this.setData({
            loading: false,
            haider: true,
            noData: true
          })
        }
        this.getTreeList(arr, 17, list, '\\')
        // const arr = res.datas.cmsDatas[0].datas.filter(item => this.resourceIsBuy(item))
        // if (!arr.length) {
        //   return this.setData({
        //     loading: false,
        //     haider: true,
        //     noData: true
        //   })
        // }
        // debugger
        this.getTreeList(res.datas.cmsDatas[0].datas, 17, list, '\\')
        list = this.ensureTreeConsistency(list)
        list = this.changeResourceChildren(list)
        console.log('修改后云', list);
        let result = [];
        if (type.refCode == "jsek_teachingResources") {
packageBookService/pages/bookServices/detail/components/tree/index.wxml
@@ -154,7 +154,7 @@
          <view class="title-box">
            <view class="title-name">{{item.name}} </view>
            <view wx:if="{{item.sysType =='CmsFolder'}}" class="title-num">
              ({{item.children ? item.children.length : 0}})
              ({{item.childrenItem}})
            </view>
          </view>
        </view>
packageBookService/pages/bookServices/detail/index.js
@@ -726,6 +726,44 @@
    });
  },
  // 获取所有子项数量
  getChildrenItem(data) {
    let num = 0
    function getNum(data) {
      for (let index = 0; index < data.length; index++) {
        const item = data[index];
        if (item.sysType == 'CmsItem') {
          num += 1
        } else if (item.sysType == 'CmsFolder') {
          if (item.children && item.children.length)
            getNum(item.children)
        }
      }
    }
    getNum(data)
    return num
  },
  // 给·目录添加子项数量
  changeResourceChildren(list) {
    const changeList = (list) => {
      for (let index = 0; index < list.length; index++) {
        const item = list[index];
        if (item.sysType == 'CmsFolder' && item.children && item.children.length) {
          item.childrenItem = this.getChildrenItem([item])
          changeList(item.children)
        } else if (item.sysType == 'CmsFolder' && item.children && !item.children.length) {
          item.childrenItem = 0
        } else if (item.sysType == 'CmsFolder' && !item.children) {
          item.childrenItem = 0
        }
      }
    }
    changeList(list)
    return list
  },
  // 扁平化数据转换tree
  getTreeList(rootList, pathLength, newArr, path) {
    for (const item of rootList) {
@@ -861,6 +899,7 @@
        });
        this.getTreeList(res.datas.cmsDatas[0].datas, 17, list, '\\')
        list = this.ensureTreeConsistency(list)
        list = this.changeResourceChildren(list)
        console.log('修改后云', list);
        let result = [];
        if (type.refCode == "jsek_teachingResources") {
@@ -2083,6 +2122,23 @@
  //申请电子样书
  appplyElectronicBook() {
    // 先判断下教师认证,未对原有逻辑修改
    let role = this.data.userInfo != null ? this.data.userInfo.role : null;
    if (role && role == "Teacher") {} else {
      return wx.showModal({
        title: "尊敬的用户,您好!", //提示的标题
        content: "请先进行教师认证?", //提示的内容
        confirmColor: "#ff6c00",
        cancelColor: "#949494",
        success: function (res) {
          if (res.confirm) {
            wx.navigateTo({
              url: "/packageDomain/pages/teacherCertification/index",
            });
          } else if (res.cancel) {}
        },
      });
    }
    if (
      this.data.bookDetail.isApplyBook == 2 ||
      this.data.bookDetail.isApplyBook == 4
@@ -2162,6 +2218,22 @@
  },
  //申请纸质样书
  appplyPaperBook() {
    let role = this.data.userInfo != null ? this.data.userInfo.role : null;
    if (role && role == "Teacher") {} else {
      return wx.showModal({
        title: "尊敬的用户,您好!", //提示的标题
        content: "请先进行教师认证?", //提示的内容
        confirmColor: "#ff6c00",
        cancelColor: "#949494",
        success: function (res) {
          if (res.confirm) {
            wx.navigateTo({
              url: "/packageDomain/pages/teacherCertification/index",
            });
          } else if (res.cancel) {}
        },
      });
    }
    if (
      this.data.bookDetail.isApplyBook == 3 ||
      this.data.bookDetail.isApplyBook == 4
@@ -2254,13 +2326,13 @@
      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,
packageBookService/pages/bookServices/detail/index.wxml
@@ -4,7 +4,12 @@
<!-- pageLoading -->
<!--导航区域 -->
<suggest-dialog class="suggest-dialog" showIndex="{{showIndex}}" bookIcon="{{bookDetail.icon}}" bookName="{{bookDetail.name}}"></suggest-dialog>
<suggest-dialog
  class="suggest-dialog"
  showIndex="{{showIndex}}"
  bookIcon="{{bookDetail.icon}}"
  bookName="{{bookDetail.name}}"
></suggest-dialog>
<!-- <popup showIndex="{{showIndex}}"></popup> -->
<view class="page-bookService" wx:if="{{!pageLoading}}">
  <!-- <view style="width: 100%; height: {{barHeight}}px; "></view>
@@ -23,25 +28,45 @@
  </view> -->
  <t-toast id="t-toast" />
  <movable-area class="movable-area">
    <scroll-view scroll-y="{{true}}" class="book" bindscrolltolower="onReachBottom">
    <scroll-view
      scroll-y="{{true}}"
      class="book"
      bindscrolltolower="onReachBottom"
    >
      <!-- 图书详情 -->
      <view class="book-box">
        <view class="book-detail" id="book-detail">
          <view class="detail-left">
            <view class="book-img">
              <image loading="" src="{{bookDetail.icon ? bookDetail.icon : '/static/images/default-book-img.png'}}" mode="aspectFit" aria-label="{{bookDetail.name}}" />
              <image
                loading=""
                src="{{bookDetail.icon ? bookDetail.icon : '/static/images/default-book-img.png'}}"
                mode="aspectFit"
                aria-label="{{bookDetail.name}}"
              />
            </view>
            <view class="book-use">
              <view class="collect" bind:tap="setCollect">
                <view>
                  <image loading="" src="/static/images/bookService/detail/collect.png" wx:if="{{!bookDetail.isFavourite}}" />
                  <image loading="" src="/static/images/bookService/detail/collecting.png" wx:if="{{bookDetail.isFavourite}}" />
                  <image
                    loading=""
                    src="/static/images/bookService/detail/collect.png"
                    wx:if="{{!bookDetail.isFavourite}}"
                  />
                  <image
                    loading=""
                    src="/static/images/bookService/detail/collecting.png"
                    wx:if="{{bookDetail.isFavourite}}"
                  />
                </view>
                <view class="use-title">收藏</view>
              </view>
              <view class="suggest" bind:tap="suggestBtn">
                <view>
                  <image loading="" src="/static/images/bookService/detail/suggest.png" />
                  <image
                    loading=""
                    src="/static/images/bookService/detail/suggest.png"
                  />
                </view>
                <view class="use-title">我要建议</view>
              </view>
@@ -66,12 +91,19 @@
                <view class="li-title">出版时间:</view>
                <view class="li-content">{{bookDetail.publicationDate}}</view>
              </view>
              <view class="message-li" wx:if="{{bookClass.length}}" style="height: 80rpx">
              <view
                class="message-li"
                wx:if="{{bookClass.length}}"
                style="height: 80rpx"
              >
                <view class="li-title">图书分类:</view>
                <view class="class-name showTow">{{bookClass}}</view>
              </view>
            </view>
            <image src="/static/images/bookService/detail/square.png" class="right-background" />
            <image
              src="/static/images/bookService/detail/square.png"
              class="right-background"
            />
          </view>
        </view>
        <!-- 销售信息 -->
@@ -80,12 +112,19 @@
            <!-- 电子书售价 -->
            <view class="electron-price" wx:if="{{bookDetail.price}}">
              <view>
                <image src="/static/images/bookService/detail/electon-price.png" />
                <image
                  src="/static/images/bookService/detail/electon-price.png"
                />
              </view>
              <view class="price">
                <view class="price-text">{{bookDetail.price == '0.00' ? '免费' : '¥'+
                  bookDetail.price}}</view>
                <view class="price-old" wx:if="{{bookDetail.oldPrice != '0.00'}}">¥{{bookDetail.oldPrice}}
                <view class="price-text"
                  >{{bookDetail.price == '0.00' ? '免费' : '¥'+
                  bookDetail.price}}</view
                >
                <view
                  class="price-old"
                  wx:if="{{bookDetail.oldPrice != '0.00'}}"
                  >¥{{bookDetail.oldPrice}}
                </view>
              </view>
              <view> </view>
@@ -93,28 +132,71 @@
            <!-- 纸质书售价 -->
            <view class="paper-price" wx:if="{{bookDetail.paperPrice}}">
              <view>
                <image src="/static/images/bookService/detail/paper-price.png" />
                <image
                  src="/static/images/bookService/detail/paper-price.png"
                />
              </view>
              <view class="price">{{bookDetail.paperPrice == '0.00' ? '免费' :
                '¥'+bookDetail.paperPrice}}</view>
              <view class="price"
                >{{bookDetail.paperPrice == '0.00' ? '免费' :
                '¥'+bookDetail.paperPrice}}</view
              >
            </view>
          </view>
          <!-- 网店 -->
          <view class="book-web">
            <image src="/static/images/bookService/detail/jd.png" wx:if="{{bookDetail.JDLink}}" bind:tap="goShop" data-link="{{bookDetail.JDLink}}" data-type="jd" />
            <image class="tmall-image" src="/static/images/bookService/detail/tmall.png" bind:tap="goShop" data-link="{{bookDetail.tmallLink}}" wx:if="{{bookDetail.tmallLink}}" />
            <image src="/static/images/bookService/detail/dangdang.png" bind:tap="goShop" data-link="{{bookDetail.dangdangLink}}" wx:if="{{bookDetail.dangdangLink}}" />
            <image src="/static/images/bookService/detail/weidian.png" bind:tap="goShop" data-link="{{bookDetail.weidianLink}}" wx:if="{{bookDetail.weidianLink}}" />
            <image
              src="/static/images/bookService/detail/jd.png"
              wx:if="{{bookDetail.JDLink}}"
              bind:tap="goShop"
              data-link="{{bookDetail.JDLink}}"
              data-type="jd"
            />
            <image
              class="tmall-image"
              src="/static/images/bookService/detail/tmall.png"
              bind:tap="goShop"
              data-link="{{bookDetail.tmallLink}}"
              wx:if="{{bookDetail.tmallLink}}"
            />
            <image
              src="/static/images/bookService/detail/dangdang.png"
              bind:tap="goShop"
              data-link="{{bookDetail.dangdangLink}}"
              wx:if="{{bookDetail.dangdangLink}}"
            />
            <image
              src="/static/images/bookService/detail/weidian.png"
              bind:tap="goShop"
              data-link="{{bookDetail.weidianLink}}"
              wx:if="{{bookDetail.weidianLink}}"
            />
          </view>
        </view>
      </view>
      <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}}">
            <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-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}}"
          >
            <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>
@@ -125,10 +207,36 @@
          style="{{tabPanelstyle}}"
        >
        </t-tab-panel> -->
          <t-tab-panel label="教学资源" icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}" value="jsek_teachingResources" class="{{loading ? 'loading': ''}}">
            <view wx:if="{{!loading && teach.length && !noResources && applyState}}">
              <teach-resource applyState="{{applyState}}" rejectCause="{{rejectCause}}" deadline="{{deadline}}" bind:applyResource="applyResource" applyResourceLoading="{{applyResourceLoading}}"></teach-resource>
              <tree id="teach-tree" openIds="{{openTeachids}}" bookInfo="{{bookDetail}}" treeList="{{teach}}" tab="{{tabValue}}" applyState="{{applyState}}" bind:downloadTeach="downloadTeach" bind:handleTree="handleTree" openTeachids="{{openTeachids}}" wx:if="{{teach.length}}" isShoppingCart="isShoppingCart" bind:updateCloudLearning="updateCloudLearning"></tree>
          <t-tab-panel
            label="教学资源"
            icon="{{tabValue == 'jsek_teachingResources' ? teachResourcesClickIcon : teachResourcesIcon}}"
            value="jsek_teachingResources"
            class="{{loading ? 'loading': ''}}"
          >
            <view
              wx:if="{{!loading && teach.length && !noResources && applyState}}"
            >
              <teach-resource
                applyState="{{applyState}}"
                rejectCause="{{rejectCause}}"
                deadline="{{deadline}}"
                bind:applyResource="applyResource"
                applyResourceLoading="{{applyResourceLoading}}"
              ></teach-resource>
              <tree
                id="teach-tree"
                openIds="{{openTeachids}}"
                bookInfo="{{bookDetail}}"
                treeList="{{teach}}"
                tab="{{tabValue}}"
                applyState="{{applyState}}"
                bind:downloadTeach="downloadTeach"
                bind:handleTree="handleTree"
                openTeachids="{{openTeachids}}"
                wx:if="{{teach.length}}"
                isShoppingCart="isShoppingCart"
                bind:updateCloudLearning="updateCloudLearning"
              ></tree>
            </view>
            <!-- <t-loading
              theme="circular"
@@ -137,75 +245,167 @@
              loading="{{loading }}"
            /> -->
            <view wx:if="{{loading}}" style="width: 100%; height: min-content">
              <t-skeleton row-col="{{rowCol}}" theme="paragraph" animation="gradient" loading="{{loading}}"></t-skeleton>
              <t-skeleton
                row-col="{{rowCol}}"
                theme="paragraph"
                animation="gradient"
                loading="{{loading}}"
              ></t-skeleton>
            </view>
            <view wx:if="{{noResources}}" class="noData">
              <t-empty icon="folder-open" description="暂无数据" />
            </view>
          </t-tab-panel>
          <t-tab-panel label="云学习" icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}" value="jsek_cloudLearning" style="{{tabPanelstyle}}">
          <t-tab-panel
            label="云学习"
            icon="{{tabValue == 'jsek_cloudLearning' ? learnResourceClickIcon : learnResourceIcon}}"
            value="jsek_cloudLearning"
            style="{{tabPanelstyle}}"
          >
            <view wx:if="{{!loading && learn.length}}">
              <learn-resource bind:getFreeResource="getFreeResource" bind:allAddShoppiingCar="allAddShoppiingCar" id="learn-resource" buyResourceData="{{buyResourceData}}" bookId="{{bookDetail.id}}" isshowDrawBtn="{{isshowDrawBtn}}" successOrderNumber="{{successOrderNumber}}"></learn-resource>
              <learn-resource
                bind:getFreeResource="getFreeResource"
                bind:allAddShoppiingCar="allAddShoppiingCar"
                id="learn-resource"
                buyResourceData="{{buyResourceData}}"
                bookId="{{bookDetail.id}}"
                isshowDrawBtn="{{isshowDrawBtn}}"
                successOrderNumber="{{successOrderNumber}}"
              ></learn-resource>
              <tree id="tree" openIds="{{openLearnids}}" bookInfo="{{bookDetail}}" tab="{{tabValue}}" treeList="{{learn}}" buyIds="{{buyIdList}}" openLearnids="{{openLearnids}}" bind:updateShoppingCartHidden="updateShoppingCartHidden" bind:updateCloudLearning="updateCloudLearning"></tree>
              <tree
                id="tree"
                openIds="{{openLearnids}}"
                bookInfo="{{bookDetail}}"
                tab="{{tabValue}}"
                treeList="{{learn}}"
                buyIds="{{buyIdList}}"
                openLearnids="{{openLearnids}}"
                bind:updateShoppingCartHidden="updateShoppingCartHidden"
                bind:updateCloudLearning="updateCloudLearning"
              ></tree>
            </view>
            <view wx:if="{{noResources}}" class="noData">
              <t-empty icon="folder-open" description="暂无数据" />
            </view>
          </t-tab-panel>
          <t-tab-panel label="云测试" icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}" value="questionBank" style="{{tabPanelstyle}}">
          <t-tab-panel
            label="云测试"
            icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}"
            value="questionBank"
            style="{{tabPanelstyle}}"
          >
            <view wx:if="{{!loading}}">
              <test-resource id="test-resource" list="{{test}}" bookInfo="{{bookDetail}}" mockData="{{mockData}}" bind:buyMock="buyMock"></test-resource>
              <test-resource
                id="test-resource"
                list="{{test}}"
                bookInfo="{{bookDetail}}"
                mockData="{{mockData}}"
                bind:buyMock="buyMock"
              ></test-resource>
            </view>
          </t-tab-panel>
          <t-tab-panel label="云笔记" icon="{{tabValue == 'jsek_note' ? noteClickIcon: noteIcon}}" value="jsek_note" style="{{tabPanelstyle}}">
          <t-tab-panel
            label="云笔记"
            icon="{{tabValue == 'jsek_note' ? noteClickIcon: noteIcon}}"
            value="jsek_note"
            style="{{tabPanelstyle}}"
          >
            <note bookInfo="{{bookDetail}}" id="note" class="note-list"></note>
          </t-tab-panel>
          <t-tab-panel label="相关图书" icon="{{tabValue == 'related_books' ? linkClickIcon: linkIcon}}" value="related_books" style="{{tabPanelstyle}}">
            <related-books relatedBookData="{{relatedBookData}}" relatedBookLoading="{{relatedBookLoading}}" noRelatedBookData="{{noRelatedBookData}}" bind:goBookDetails="goBookDetails"></related-books>
          <t-tab-panel
            label="相关图书"
            icon="{{tabValue == 'related_books' ? linkClickIcon: linkIcon}}"
            value="related_books"
            style="{{tabPanelstyle}}"
          >
            <related-books
              relatedBookData="{{relatedBookData}}"
              relatedBookLoading="{{relatedBookLoading}}"
              noRelatedBookData="{{noRelatedBookData}}"
              bind:goBookDetails="goBookDetails"
            ></related-books>
          </t-tab-panel>
        </t-tabs>
      </view>
    </scroll-view>
    <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" />
          <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>
  <!-- 我要建议弹窗 -->
  <suggest class="suggest-component" id="suggest-component" bookIcon="{{bookDetail.icon}}" bookName="{{bookDetail.name}}"></suggest>
  <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" />
  <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">
      <view>
        <t-image loading="" src="/static/images/bookService/detail/ebook.png"></t-image>
        <t-image
          loading=""
          src="/static/images/bookService/detail/ebook.png"
        ></t-image>
      </view>
      <view class="btn-text">电子样书申请</view>
    </view>
    <view class="bottom-btn" bind:tap="appplyPaperBook">
      <view>
        <t-image src="/static/images/bookService/detail/paper-book.png"></t-image>
        <t-image
          src="/static/images/bookService/detail/paper-book.png"
        ></t-image>
      </view>
      <view class="btn-text">纸质样书申请</view>
    </view>
    <view class="{{!bookBuy && bookDetail.isSell ? 'bottom-btn tryRead' : 'bottom-btn try'}}" bind:tap="goRead" wx:if="{{!bookBuy}}">
    <view
      class="{{!bookBuy && bookDetail.isSell ? 'bottom-btn tryRead' : 'bottom-btn try'}}"
      bind:tap="goRead"
      wx:if="{{!bookBuy}}"
    >
      <view>
        <t-image src="/static/images/bookService/detail/shidu.png"></t-image>
      </view>
      <view class="btn-text">试读</view>
    </view>
    <view class="shopCar shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}">加入购物车</view>
    <view class="buy buyColor" bind:tap="buyBtn" wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}">立即购买</view>
    <view class="buy receiveColor" bind:tap="buyBtn" wx:if="{{!bookBuy && bookDetail.price == '0.00' && bookDetail.isSell == '1'}}">免费领取</view>
    <view
      class="shopCar shopCarColor"
      bind:tap="addBookShopcCar"
      wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}"
      >加入购物车</view
    >
    <view
      class="buy buyColor"
      bind:tap="buyBtn"
      wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}"
      >立即购买</view
    >
    <view
      class="buy receiveColor"
      bind:tap="buyBtn"
      wx:if="{{!bookBuy && bookDetail.price == '0.00' && bookDetail.isSell == '1'}}"
      >免费领取</view
    >
    <view class="buy read" bind:tap="goRead" wx:if="{{bookBuy}}">立即查看</view>
  </view>
</view>
packageBookService/pages/bookServices/list/index.js
@@ -491,10 +491,34 @@
    // }
    await this.getBookList(path);
  },
  // 二级分类切换
  onChangeSecond(e) {
    console.log(789);
  // // 二级分类切换
  // onChangeSecond(e) {
  //   const pathList = [];
  //   for (let index = 0; index < e.detail.value.length; index++) {
  //     const element = e.detail.value[index];
  //     pathList.push({
  //       Path: element,
  //       Type: "*",
  //       StoreRefCode: app.config.goodsStore,
  //     });
  //   }
  //   this.setData({
  //     backTop: "#assort-title",
  //     pathList: pathList,
  //     "secondList.value": e.detail.value,
  //   });
  // },
  // 二级分类重置
  resetSecond() {
    this.setData({
      backTop: "#assort-title",
      pathList: [],
      "secondList.value": [],
    });
    this.getBookList(this.data.path);
  },
  // 二级分类确定
  onConfirmSecond(e) {
    const pathList = [];
    for (let index = 0; index < e.detail.value.length; index++) {
      const element = e.detail.value[index];
@@ -509,11 +533,6 @@
      pathList: pathList,
      "secondList.value": e.detail.value,
    });
  },
  //
  onConfirmSecond() {
    this.getBookList(this.data.path);
  },
  // 重点项目改变
packageBookService/pages/bookServices/list/index.wxml
@@ -3,24 +3,78 @@
<import src="index.skeleton.wxml" />
<template is="skeleton" wx:if="{{loading}}" />
<page-meta page-style="{{showDropdown ? 'overflow: hidden;' : ''}}" wx:if="{{!loading}}">
<page-meta
  page-style="{{showDropdown ? 'overflow: hidden;' : ''}}"
  wx:if="{{!loading}}"
>
  <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
            defaultValue="{{secondList.value}}"
            bind:confirm="onConfirmSecond"
            bind:reset="resetSecond"
          />
          <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">
@@ -29,10 +83,28 @@
        </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">
@@ -41,9 +113,19 @@
      </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>
@@ -54,7 +136,13 @@
        </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>
packageDomain/pages/sampleBookList/applicationForm/index.js
@@ -68,19 +68,48 @@
        })
      }
      if (wx.getStorageSync("paperBookList")) {
        const paperBookList = JSON.parse(wx.getStorageSync("paperBookList"))
        for (let index = 0; index < paperBookList.length; index++) {
          const item = paperBookList[index];
          if (item.publicationDate)
            item.publicationDate = this.formatDate(item.publicationDate)
        }
        that.setData({
          paperBookList: JSON.parse(wx.getStorageSync("paperBookList")),
          bookList: JSON.parse(wx.getStorageSync("paperBookList"))
          paperBookList: paperBookList,
          bookList: paperBookList
        })
      }
      if (wx.getStorageSync("electronicBookList")) {
        const electronicBookList = JSON.parse(wx.getStorageSync("electronicBookList"))
        for (let index = 0; index < electronicBookList.length; index++) {
          const item = electronicBookList[index];
          if (item.publicationDate)
            item.publicationDate = this.formatDate(item.publicationDate)
        }
        that.setData({
          electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList"))
          electronicBookList: electronicBookList
        })
      }
      that.getSelectBookCount();
      that.getSelectPaperBookCount();
      that.getPaperType();
    }
  },
  formatDate(inputDate) {
    // 使用正则表达式匹配日期部分
    const dateMatch = inputDate.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})/);
    if (dateMatch) {
      // 提取年、月、日
      const year = dateMatch[1];
      const month = dateMatch[2].padStart(2, '0'); // 确保月份为两位数
      const day = dateMatch[3].padStart(2, '0'); // 确保日期为两位数
      // 拼接并返回格式化后的日期
      return `${year}-${month}-${day}`;
    } else {
      // 如果没有匹配到日期部分,则返回原始输入或抛出错误
      return inputDate; // 或者 throw new Error('Invalid date format');
    }
  },
@@ -310,7 +339,7 @@
            that.setData({
              bookList: eList
            })
            wx.setStorageSync("electronicBookList", eList);
            wx.setStorageSync("electronicBookList", JSON.stringify(eList));
          } else {
            let pList = that.data.paperBookList;
            pList.forEach((obj, index) => {
@@ -321,7 +350,7 @@
            that.setData({
              bookList: pList
            })
            wx.setStorageSync("paperBookList", pList);
            wx.setStorageSync("paperBookList", JSON.stringify(pList));
          }
        } else if (res.cancel) {}
      }
packageDomain/pages/sampleBookList/applicationForm/index.wxml
@@ -1,5 +1,14 @@
<view class="container" style="height:calc(100vh + {{keyboardHeight ? (keyboardHeight + 'px'):'0'}});padding-bottom:calc(180rpx+  {{keyboardHeight ?  120 + 'px':0}})">
  <t-tabs t-class="t-tabs" defaultValue="{{active}}" split="{{false}}" bind:change="tabClick" show-bottom-line="false">
<view
  class="container"
  style="height:calc(100vh + {{keyboardHeight ? (keyboardHeight + 'px'):'0'}});padding-bottom:calc(180rpx+  {{keyboardHeight ?  120 + 'px':0}})"
>
  <t-tabs
    t-class="t-tabs"
    defaultValue="{{active}}"
    split="{{false}}"
    bind:change="tabClick"
    show-bottom-line="false"
  >
    <t-tab-panel label="纸质样书" value="0" />
    <t-tab-panel label="电子样书" value="1" />
  </t-tabs>
@@ -12,23 +21,47 @@
        </view>
        <view class="bookList">
          <view wx:if="{{bookList.length > 0}}">
            <view wx:for="{{bookList}}" wx:for-item="item" wx:for-index="index" wx:key="index" class="textbooksItemBox">
            <view
              wx:for="{{bookList}}"
              wx:for-item="item"
              wx:for-index="index"
              wx:key="index"
              class="textbooksItemBox"
            >
              <t-swipe-cell>
                <t-cell title="左滑单操作" note="辅助信息" bordered="{{false}}">
                  <view class="listItem flex">
                    <view class="specialSubject-img">
                      <image src="{{item.icon}}" mode="aspectFill" class="img" wx:if="{{item.icon}}" />
                      <image src="/static/images/default-book-img.png" mode="aspectFill" class="img" wx:else="" />
                      <image
                        src="{{item.icon}}"
                        mode="aspectFill"
                        class="img"
                        wx:if="{{item.icon}}"
                      />
                      <image
                        src="/static/images/default-book-img.png"
                        mode="aspectFill"
                        class="img"
                        wx:else=""
                      />
                    </view>
                    <view class="body-info">
                      <view class="name">{{item.title}}</view>
                      <view class="author">作者:{{item.author}}</view>
                      <view class="author">ISBN:{{item.isbn}}</view>
                      <view class="author">出版时间:{{item.publicationDate}}</view>
                      <view class="author" wx:if="{{item.publicationDate}}"
                        >出版时间:{{item.publicationDate}}</view
                      >
                    </view>
                  </view>
                </t-cell>
                <view slot="right" class="btn delete-btn" bind:tap="onDelete" data-book="{{item}}">删除</view>
                <view
                  slot="right"
                  class="btn delete-btn"
                  bind:tap="onDelete"
                  data-book="{{item}}"
                  >删除</view
                >
              </t-swipe-cell>
            </view>
          </view>
@@ -38,9 +71,7 @@
        </view>
      </view>
      <view class="formBox">
        <view class="title">
          授课情况
        </view>
        <view class="title"> 授课情况 </view>
        <view class="teachingInfo">
          <view class="item">
            <text class="label">学校:</text>
@@ -51,26 +82,53 @@
            <text>{{teacherInfo.courseName}}</text>
          </view>
        </view>
        <view class="title" wx:if="{{active =='0'}}">
          收货人情况
        </view>
        <view class="title" wx:if="{{active =='0'}}"> 收货人情况 </view>
        <view class="receiverInfo" wx:if="{{active =='0'}}">
          <view class="item form-input-1">
            <text class="label">姓名:</text>
            <view class="item-content">
              <t-input placeholder="请输入真实姓名" borderless value="{{contactInfo.fullName}}" bindchange="onFullNameInput" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-1" />
              <t-input
                placeholder="请输入真实姓名"
                borderless
                value="{{contactInfo.fullName}}"
                bindchange="onFullNameInput"
                adjust-position="{{isIos?false:true}}"
                bindkeyboardheightchange="bindkeyboardheightchange"
                bindblur="changeParam"
                data-class="form-input-1"
              />
            </view>
          </view>
          <view class="item form-input-2">
            <text class="label">联系电话:</text>
            <view class="item-content">
              <t-input placeholder="输入联系电话" borderless value="{{contactInfo.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-2" />
              <t-input
                placeholder="输入联系电话"
                borderless
                value="{{contactInfo.phone}}"
                type="number"
                tips="{{phoneError ? '手机号输入不正确' : ''}}"
                bindchange="onPhoneInput"
                adjust-position="{{isIos?false:true}}"
                bindkeyboardheightchange="bindkeyboardheightchange"
                bindblur="changeParam"
                data-class="form-input-2"
              />
            </view>
          </view>
          <view class="item form-input-3">
            <text class="label">详细地址:</text>
            <view class="item-content">
              <t-input placeholder="请输入详细地址" borderless value="{{contactInfo.detailedAddress}}" bindchange="onAddressInput" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-3" />
              <t-input
                placeholder="请输入详细地址"
                borderless
                value="{{contactInfo.detailedAddress}}"
                bindchange="onAddressInput"
                adjust-position="{{isIos?false:true}}"
                bindkeyboardheightchange="bindkeyboardheightchange"
                bindblur="changeParam"
                data-class="form-input-3"
              />
            </view>
          </view>
        </view>
packageDomain/pages/sampleBookList/index.js
@@ -152,14 +152,17 @@
          // 获取申请次数
          that.getSelectPaperBookCount()
          that.getSelectBookCount()
        }
      })
    } else {
      that.setData({
        userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey))
      })
      const paperBookList = wx.getStorageSync('paperBookList') ? JSON.parse(wx.getStorageSync('paperBookList')).length : 0
      const electronicBookList = wx.getStorageSync('electronicBookList') ? JSON.parse(wx.getStorageSync('electronicBookList')).length : 0
      this.setData({
        num: paperBookList + electronicBookList
      })
    }
  },
@@ -541,7 +544,7 @@
    this.getSecondList(path);
  },
  // 二级分类切换
  onChangeSecond(e) {
  onConfirmSecond(e) {
    const pathList = [];
    for (let index = 0; index < e.detail.value.length; index++) {
      const element = e.detail.value[index];
@@ -556,10 +559,6 @@
      pathList: pathList,
      'secondList.value': e.detail.value,
    });
  },
  //
  onConfirmSecond() {
    this.getBookList(false);
  },
  onResetSecond() {
packageDomain/pages/sampleBookList/index.wxml
@@ -2,21 +2,60 @@
<view clas="container">
  <view class="page-header" wx:if="{{!skeletonLoding}}">
    <view style="width: 100%; height: {{barHeight}}px;"></view>
    <view class="nacigationBar" style="width: 100%; height: {{navBarHeight}}px;">
    <view
      class="nacigationBar"
      style="width: 100%; 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="list-header">
      <view class="header-scroll">
        <!-- <scroll-view scroll-x scroll-with-animation='true' class="srcolbox"> -->
        <view class="srcolbox">
          <t-dropdown-menu>
            <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-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
              defaultValue="{{secondList.value}}"
              bind:confirm="onConfirmSecond"
              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>
        <!-- </scroll-view> -->
@@ -33,29 +72,83 @@
  <view class="bookServices-list" wx:if="{{!skeletonLoding}}">
    <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">
        <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" />
              <t-loading
                theme="circular"
                size="40rpx"
                text="正在刷新..."
                class="wrapper"
              />
            </view>
          </view>
          <view class="title">
            <view class="line"></view>
            <view class="icon">
              <image src="/static/images/home/yangshuliebiao.png" mode="aspectFit" class="iconImage" />
              <image
                src="/static/images/home/yangshuliebiao.png"
                mode="aspectFit"
                class="iconImage"
              />
            </view>
          </view>
          <view class="book-list" wx:if="{{bookList.length > 0}}">
            <view class="book-box" wx:for="{{bookList}}" wx:key="id">
              <view class="book-img" bind:tap="goDetail" data-book="{{item}}">
                <image src="{{item.icon}}" aria-label="{{item.name}}" mode="aspectFit" wx:if="{{item.icon}}" />
                <image src="/static/images/default-book-img.png" aria-label="{{item.name}}" mode="aspectFit" wx:else />
                <image
                  src="{{item.icon}}"
                  aria-label="{{item.name}}"
                  mode="aspectFit"
                  wx:if="{{item.icon}}"
                />
                <image
                  src="/static/images/default-book-img.png"
                  aria-label="{{item.name}}"
                  mode="aspectFit"
                  wx:else
                />
              </view>
              <view class="book-name book-color" bind:tap="goDetail" data-book="{{item}}">{{ item.name}}</view>
              <view
                class="book-name book-color"
                bind:tap="goDetail"
                data-book="{{item}}"
                >{{ item.name}}</view
              >
              <view class="book-author book-color">{{item.author}}</view>
              <view class="checkbox">
                <t-checkbox label="纸质样书" icon="rectangle" borderless='true' checked="{{item.paperChecked}}" disabled="{{item.paperDisabled || item.isApplyBook == '1' || item.isApplyBook == '2'}}" data-book="{{item}}" bind:change="onChangePaper" />
                <t-checkbox label="电子样书" icon="rectangle" borderless='true' class="eBook" checked="{{item.electronChecked}}" disabled="{{item.electronDisabled || item.isApplyBook=='1' || item.isApplyBook=='3' }}" data-book="{{item}}" bind:change="onChangeElectron" />
                <t-checkbox
                  label="纸质样书"
                  icon="rectangle"
                  borderless="true"
                  checked="{{item.paperChecked}}"
                  disabled="{{item.paperDisabled || item.isApplyBook == '1' || item.isApplyBook == '2'}}"
                  data-book="{{item}}"
                  bind:change="onChangePaper"
                />
                <t-checkbox
                  label="电子样书"
                  icon="rectangle"
                  borderless="true"
                  class="eBook"
                  checked="{{item.electronChecked}}"
                  disabled="{{item.electronDisabled || item.isApplyBook=='1' || item.isApplyBook=='3' }}"
                  data-book="{{item}}"
                  bind:change="onChangeElectron"
                />
              </view>
            </view>
          </view>
@@ -63,16 +156,34 @@
            <t-empty icon="folder-open" description="暂无数据" />
          </view>
          <view class="bottom-loading" wx:if="{{bottomLoading}}">
            <t-loading theme="circular" size="40rpx" text="加载中..." class="wrapper" />
            <t-loading
              theme="circular"
              size="40rpx"
              text="加载中..."
              class="wrapper"
            />
          </view>
          <view class="bottom-loading" style="color: #ccc;font-size: 28rpx;" wx:if="{{isMoreData}}">
          <view
            class="bottom-loading"
            style="color: #ccc; font-size: 28rpx"
            wx:if="{{isMoreData}}"
          >
            <text>没有更多了</text>
          </view>
        </scroll-view>
        <movable-view class="movable-view" :x="{{x}}" :y="{{y}}" direction="all">
        <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" />
              <t-image
                src="/static/images/home/yangshuForm1.png"
                mode="heightFix"
                class="img"
              />
              <view class="num" wx:if="{{num > 0}}">{{num}}</view>
            </view>
          </view>
@@ -80,8 +191,12 @@
      </movable-area>
    </view>
  </view>
  <t-back-top theme="round" wx:if="{{isBackTop}}" text="顶部" bind:to-top="onToTop"></t-back-top>
  <t-back-top
    theme="round"
    wx:if="{{isBackTop}}"
    text="顶部"
    bind:to-top="onToTop"
  ></t-back-top>
</view>
<import src="index.skeleton.wxml" />
<template is="skeleton" wx:if="{{skeletonLoding}}" />
packageDomain/pages/sampleBookList/index.wxss
@@ -14,7 +14,7 @@
}
.bookServices-list {
  padding-top: 310rpx;
  padding-top: 294rpx;
  background: #F2F3F8;
}
@@ -205,7 +205,7 @@
  flex-direction: column;
  align-items: center;
  margin-bottom: 40rpx;
  padding: 50rpx 16rpx 32rpx 16rpx;
  padding: 50rpx 16rpx 8rpx 16rpx;
  box-shadow: 0rpx 0rpx 18rpx 2rpx rgba(0, 0, 0, 0.08);
  background: #fff;
}