闫增涛
2025-03-31 04c7b0163caeae4ab1c5da62e301fa993101cfad
pages/retrievalPage/index.wxml
@@ -1,196 +1,390 @@
<!--pages/retrievalPage/index.wxml-->
<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" />
<import src="index.skeleton.wxml" />
<template is="skeleton" wx:if="{{loading}}" />
<view class="outsideRetrievalPageBox" hidden="{{hidden}}">
  <view class="retrievalPageBox">
    <view class="example-search">
      <t-search
        bind:submit="onSearchSubmit"
        class="searchBox"
        model:value="{{searchVal}}"
        placeholder="请输入关键词/书名/ISBN/作者/项目负责人"
      />
      <view class="cancellation" bind:tap="onCancellation">取消</view>
    </view>
  </view>
  <view class="navbar-title">检索结果</view>
</view>
<view class="example-search">
  <t-search bind:submit="onSearchSubmit" class="searchBox" model:value="{{searchVal}}" placeholder="请输入关键词/书名/ISBN/作者" />
  <view class="cancellation" bind:tap="onCancellation">取消</view>
</view>
<t-tabs defaultValue="{{0}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel">
  <t-tab-panel label="图书({{bookTotal}})" value="0">
    <view class="bookDataBox">
      <view wx:if="{{bookData.length <= 0}}" class="noDataBox">
        <t-empty icon="folder-open" description="暂无数据" />
      </view>
      <view class="bookDataForBox" wx:for="{{bookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onBook">
        <view class="imageBox">
          <image src="{{item.icon}}" mode="aspectFill" />
  <view>
    <!-- Tab布局 -->
    <scroll-view scroll-x="{{true}}" class="scroll-x">
      <view class="navBox">
        <view class="titleBox" wx:for="{{tabList}}" bindtap="tabsOn" wx:key="index" wx:for-item="item" wx:for-index="index" data-idx="{{item.index}}">
          <view class="tabIndexBox">
            <text class="{{item.index == tabsId ? 'fontColorBox' : ''}}"
              >{{item.title}} ({{item.bookTotal}})
            </text>
          </view>
          <hr class="{{item.index == tabsId ? 'lineBox' : ''}}" />
        </view>
        <view class="bookDataNmae">
          {{item.name}}
        </view>
        <view class="bookDataAuthor">{{item.author}}</view>
      </view>
    </view>
    <view class="bottom-box">
      <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
      <text wx:if="{{isMore == false}}">没有更多了</text>
    </view>
  </t-tab-panel>
  <t-tab-panel label="课程({{courseTotal}})" value="1">
    <view class="listBox1">
      <view wx:if="{{courseData.length <= 0}}" class="noDataBox">
        <t-empty icon="folder-open" description="暂无数据" />
      </view>
      <view>
        <view wx:for="{{courseData}}" wx:for-item="item" wx:for-index="index" wx:key="index" bindtap="toList" data-info="{{item}}" class="listItemBox">
          <view class="listItem flex">
            <view class="specialSubject-img">
              <image src="{{item.icon}}" mode="aspectFill" class="img" />
            </view>
            <view class="body-info">
              <view class="name">{{item.name}}</view>
              <view class="flex jc-sb">
                <text class="author">{{item.courseLeader}}</text>
                <text>{{item.classHours}}课时</text>
    </scroll-view>
    <!-- 内容布局 -->
    <swiper
      class="swiperTtemBox"
      bindchange="slideOn"
      current="{{tabsId}}"
      circular
    >
      <!-- circular 启用循环滑动 -->
      <swiper-item>
        <scroll-view
          scroll-y="{{true}}"
          class="scrollViewBox"
          bindscrolltolower="onScrollToLower"
        >
          <view class="bookDataBox">
            <view
              class="bookDataForBox"
              wx:for="{{bookData}}"
              wx:key="index"
              wx:for-item="item"
              wx:for-index="index"
              data-item="{{item}}"
              bind:tap="onBook"
            >
              <view class="imageBox">
                <image
                  wx:if="{{item.icon}}"
                  src="{{item.icon}}"
                  mode="aspectFit"
                />
                <image
                  wx:if="{{!item.icon}}"
                  src="/static/images/default-book-img.png"
                  mode=""
                />
              </view>
              <view class="priceBox flex jc-sb">
                <text class="price" wx:if="{{item.price == 0}}">免费</text>
                <text class="price" wx:if="{{item.price !== 0}}">¥{{item.price}}</text>
                <image src="/static/images/home/home-cart.png" mode="aspectFill" class="addCartImg" />
              <view class="bookDataNmae"> {{item.name}} </view>
              <view class="bookDataAuthor">{{item.author}}</view>
            </view>
          </view>
          <view wx:if="{{bookData.length}}" class="bottom-box">
            <t-loading
              theme="circular"
              size="40rpx"
              class="wrapper"
              wx:if="{{isMore == true}}"
            />
            <text wx:if="{{isMore == false}}">没有更多了</text>
          </view>
          <view wx:if="{{bookData.length <= 0}}" class="noDataBox">
            <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
            <empty />
          </view>
        </scroll-view>
      </swiper-item>
      <swiper-item>
        <scroll-view
          scroll-y="{{true}}"
          class="scrollViewBox"
          bindscrolltolower="onScrollToLower"
        >
          <view class="listBox1">
            <view>
              <view
                wx:for="{{courseData}}"
                wx:for-item="item"
                wx:for-index="index"
                wx:key="index"
                bindtap="toList"
                data-info="{{item}}"
                class="listItemBox"
              >
                <view
                  class="listItem flex"
                  data-book="{{item}}"
                  bind:tap="underConstruction"
                >
                  <view class="specialSubject-img-box">
                    <image src="{{item.icon}}" mode="aspectFit" class="img"/>
                  </view>
                  <view class="body-info">
                    <view class="name">{{item.name}}</view>
                    <view class="flex jc-sb">
                      <text class="author">{{item.courseLeader}}</text>
                      <text>{{item.classHours}}课时</text>
                    </view>
                    <view class="priceBox flex jc-sb">
                      <text class="price" wx:if="{{item.price == 0}}"
                        >免费</text
                      >
                      <text class="price" wx:if="{{item.price !== 0}}"
                        >¥{{item.price}}</text
                      >
                      <image
                        src="/static/images/home/home-cart.png"
                        mode="aspectFill"
                        class="addCartImg"
                      />
                    </view>
                  </view>
                </view>
              </view>
            </view>
          </view>
        </view>
      </view>
    </view>
    <view class="bottom-box">
      <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
      <text wx:if="{{isMore == false}}">没有更多了</text>
    </view>
  </t-tab-panel>
  <t-tab-panel label="数字教材({{digitalTextbooksTotal}})" value="2">
    <view class="bookDataBox">
      <view wx:if="{{digitalTextbooksData.length <= 0}}" class="noDataBox">
        <t-empty icon="folder-open" description="暂无数据" />
      </view>
      <view class="bookDataForBox" wx:for="{{digitalTextbooksData}}" wx:key="index" wx:for-item="item" wx:for-index="index">
        <view class="imageBox">
          <image src="{{item.icon}}" mode="" />
        </view>
        <view class="bookDataNmae">
          {{item.name}}
        </view>
        <view class="bookDataAuthor">{{item.author}}</view>
      </view>
    </view>
    <view class="bottom-box">
      <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
      <text wx:if="{{isMore == false}}">没有更多了</text>
    </view>
  </t-tab-panel>
  <t-tab-panel label="专题({{seminarTotal}})" value="3">
    <view class="listBox">
      <view wx:if="{{seminarData.length <= 0}}" class="noDataBox">
        <t-empty icon="folder-open" description="暂无数据" />
      </view>
      <view wx:for="{{seminarData}}" wx:for-item="item" wx:for-index="index" wx:key="index" bindtap="toList" data-info="{{item}}" class="listItemBox">
        <view class="listItem">
          <view class="specialSubject-img">
            <image src="{{item.icon}}" mode="aspectFill" class="img" />
          <view wx:if="{{courseData.length != 0}}" class="bottom-box">
            <t-loading
              theme="circular"
              size="40rpx"
              class="wrapper"
              wx:if="{{isMore == true}}"
            />
            <text wx:if="{{isMore == false}}">没有更多了</text>
          </view>
          <view class="body-info">
            <view class="name">{{item.name}}</view>
            <view class="time" wx:if="{{item.liveTime}}">直播时间:<text>{{item.liveTime}}</text></view>
            <view class="time" wx:if="{{item.startTime}}">开播时间:<text>{{ item.startTime }}</text></view>
            <view class="time" wx:if="{{!item.liveTime && !item.startTime}}">开播时间:<text class="grey">待定</text></view>
            <view class="flex jc-sb">
              <text class="author">{{item.lecturer}}</text>
              <text class="price" wx:if="{{item.price == 0}}">免费</text>
              <text class="price" wx:if="{{item.price !== 0}}">¥{{item.price}}</text>
          <view wx:if="{{courseData.length <= 0}}" class="noDataBox">
            <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
            <empty />
          </view>
        </scroll-view>
      </swiper-item>
      <swiper-item>
        <scroll-view
          scroll-y="{{true}}"
          class="scrollViewBox"
          bindscrolltolower="onScrollToLower"
        >
          <view class="bookDataBox">
            <view
              class="bookDataForBox"
              wx:for="{{digitalTextbooksData}}"
              wx:key="index"
              wx:for-item="item"
              wx:for-index="index"
              data-item="{{item}}"
              bind:tap="goTextBookDetail"
            >
              <view class="imageBox">
                <image src="{{item.icon}}" mode="aspectFit" mode="" />
              </view>
              <view class="bookDataNmae"> {{item.name}} </view>
              <view class="bookDataAuthor">{{item.author}}</view>
            </view>
          </view>
        </view>
      </view>
    </view>
    <view class="bottom-box">
      <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
      <text wx:if="{{isMore == false}}">没有更多了</text>
    </view>
          <view wx:if="{{digitalTextbooksData.length != 0}}" class="bottom-box">
            <t-loading
              theme="circular"
              size="40rpx"
              class="wrapper"
              wx:if="{{isMore == true}}"
            />
            <text wx:if="{{isMore == false}}">没有更多了</text>
          </view>
          <view wx:if="{{digitalTextbooksData.length <= 0}}" class="noDataBox">
            <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
            <empty />
          </view>
        </scroll-view>
      </swiper-item>
      <swiper-item>
        <scroll-view
          scroll-y="{{true}}"
          class="scrollViewBox"
          bindscrolltolower="onScrollToLower"
        >
          <view class="listBox">
            <view
              wx:for="{{seminarData}}"
              wx:for-item="item"
              wx:for-index="index"
              wx:key="index"
              class="listItemBox"
              data-item="{{item}}"
              bind:tap="goSubjectDetail"
            >
              <view
                class="listItem"
                bindtap="goSubjectDetail"
                data-book="{{item}}"
              >
                <view class="specialSubject-img">
                  <image src="{{item.icon}}" mode="aspectFill" class="img" />
                </view>
                <view class="body-info">
                  <view class="name">{{item.name}}</view>
                  <view class="time" wx:if="{{item.liveTime}}"
                    >直播时间:{{item.liveTime}}</view
                  >
                  <view class="time" wx:if="{{item.startTime}}"
                    >开播时间:{{ item.startTime }}</view
                  >
                  <view
                    class="time"
                    wx:if="{{!item.liveTime && !item.startTime}}"
                    >开播时间:<text class="grey">待定</text></view
                  >
                  <view class="flex jc-sb">
                    <text class="author"
                      >{{item.lecturer}} {{item.position}}</text
                    >
                    <text class="price" wx:if="{{item.price == 0}}">免费</text>
                    <text class="price" wx:if="{{item.price !== 0}}"
                      >¥{{item.price}}</text
                    >
                  </view>
                </view>
              </view>
            </view>
          </view>
          <view wx:if="{{seminarData.length != 0}}" class="bottom-box">
            <t-loading
              theme="circular"
              size="40rpx"
              class="wrapper"
              wx:if="{{isMore == true}}"
            />
            <text wx:if="{{isMore == false}}">没有更多了</text>
          </view>
          <view wx:if="{{seminarData.length <= 0}}" class="noDataBox">
            <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
            <empty />
          </view>
        </scroll-view>
      </swiper-item>
      <swiper-item>
        <scroll-view
          scroll-y="{{true}}"
          class="scrollViewBox"
          bindscrolltolower="onScrollToLower"
        >
          <view class="outsideHigherBox">
            <view
              class="higherBox"
              wx:for="{{bookFairData}}"
              wx:key="index"
              wx:for-item="item"
              wx:for-index="index"
            >
              <view class="outsideHigherImageBox">
                <view
                  class="higherImageBox"
                  bind:tap="openBookFair"
                  data-item="{{item}}"
                >
                  <image src="{{item.icon}}" mode="aspectFill" />
                  <view
                    class="downloadIcon"
                    data-item="{{item}}"
                    data-key="showWithInput"
                    catch:tap="mailbox"
                  >
                    <image
                      wx:if="{{determine}}"
                      class="download"
                      src="/static/images/bibliographyList/email-click.png"
                      mode="aspectFit"
                    />
                    <image
                      wx:else=""
                      class="downloadshiftin"
                      src="/static/images/bibliographyList/email.png"
                      mode="aspectFit"
                    />
                  </view>
                </view>
              </view>
              <view class="higherTextBox">{{item.name}}</view>
            </view>
          </view>
  </t-tab-panel>
  <t-tab-panel label="书目({{bookFairTotal}})" value="4">
    <view class="outsideHigherBox">
      <view wx:if="{{bookFairData.length <= 0 }}" class="noDataBox">
        <t-empty icon="folder-open" description="暂无数据" />
      </view>
      <view class="higherBox" wx:for="{{bookFairData}}" wx:key="index" wx:for-item="item" wx:for-index="index">
        <view class="outsideHigherImageBox">
          <image class="higherImageBox" src="{{item.icon}}" mode="" />
          <view class="downloadIcon" bind:tap="downloadData" data-item="{{item}}">
            <image wx:if="{{determine}}" class="download" src="/static/images/bibliographyList/downloadshiftin.png" mode="" />
            <image wx:else="" class="downloadshiftin" src="/static/images/bibliographyList/download.png" mode="" />
          <view wx:if="{{bookFairData.length != 0}}" class="bottom-box">
            <t-loading
              theme="circular"
              size="40rpx"
              class="wrapper"
              wx:if="{{isMore == true}}"
            />
            <text wx:if="{{isMore == false}}">没有更多了</text>
          </view>
          <view wx:if="{{bookFairData.length <= 0 }}" class="noDataBox">
            <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
            <empty />
          </view>
        </scroll-view>
      </swiper-item>
      <swiper-item>
        <scroll-view
          scroll-y="{{true}}"
          class="scrollViewBox"
          bindscrolltolower="onScrollToLower"
        >
          <view class="outside">
            <view
              class="contentBox"
              wx:for="{{biblioClassificationData}}"
              wx:key="index"
              wx:for-item="item"
              wx:for-index="index"
              bindtap="onBookExhibitionDetails"
              data-item="{{item}}"
            >
              <image class="bookFairImage" wx:if="{{item.icon}}" src="{{item.icon}}" mode=""/>
              <image class="bookFairImage" wx:else src="/static/images/bookExhibitionList/banner.png" mode="" />
              <view class="textBox" title="{{item.name}}">
                <text>{{item.subtitleName}}</text>
              </view>
            </view>
          </view>
          <view
            wx:if="{{biblioClassificationData.length != 0}}"
            class="bottom-box"
          >
            <t-loading
              theme="circular"
              size="40rpx"
              class="wrapper"
              wx:if="{{isMore == true}}"
            />
            <text wx:if="{{isMore == false}}">没有更多了</text>
          </view>
          <view
            wx:if="{{biblioClassificationData.length <= 0}}"
            class="noDataBox"
          >
            <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
            <empty />
          </view>
        </scroll-view>
      </swiper-item>
    </swiper>
  </view>
  <!-- <view class="dialogBox" wx:if="{{showWithInput}}">
    <t-dialog visible="{{showWithInput}}" title="请输入邮箱" confirm-btn="确定" cancel-btn="取消" bind:confirm="onConfirm" bind:cancel="closeDialog">
      <t-input value="{{input}}" borderless class="dialog-input" clearable slot="content" placeholder="请输入邮箱号" placeholder-class="placeholder" bindchange="onEmailInput" />
    </t-dialog>
  </view> -->
</view>
<view wx:if="{{showWithInput}}">
  <view class="popup-box" bindtap="closeDialog"></view>
  <view class="info-center" style="top:{{height*0.4}}px;">
    <view>
      <view class="row-info">
        <view class="body">
          <view class="dialog-title">请输入邮箱</view>
          <view class="input-box">
            <t-input
              style="{{inputStyle}}"
              class="input"
              placeholder="请输入邮箱号"
              value="{{input}}"
              bind:change="onEmailInput"
            ></t-input>
          </view>
        </view>
        <view class="higherTextBox">{{item.name}}</view>
        <view class="row-btn">
          <view class="left-btn" bindtap="closeDialog">取消</view>
          <view class="right-btn" bindtap="onConfirm">确认</view>
        </view>
      </view>
    </view>
    <view class="bottom-box">
      <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
      <text wx:if="{{isMore == false}}">没有更多了</text>
    </view>
  </t-tab-panel>
  <t-tab-panel label="书展({{biblioClassificationTotal}})" value="5">
    <view class="outside">
      <view wx:if="{{biblioClassificationData.length <= 0}}" class="noDataBox">
        <t-empty icon="folder-open" description="暂无数据" />
      </view>
      <view class="contentBox" wx:for="{{biblioClassificationData}}" wx:key="index" wx:for-item="item" wx:for-index="index" bindtap="onBookExhibitionDetails" data-item="{{item}}">
        <image class="bookFairImage" wx:if="{{item.icon}}" src="{{item.icon}}" mode="" />
        <image class="bookFairImage" wx:else="" src="/static/images/bookExhibitionList/banner.png" mode="" />
        <view class="textBox" title="{{item.name}}"> <text>{{item.subtitleName}}</text></view>
      </view>
    </view>
    <view class="bottom-box">
      <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
      <text wx:if="{{isMore == false}}">没有更多了</text>
    </view>
  </t-tab-panel>
</t-tabs>
  </view>
</view>