闫增涛
2025-03-31 04c7b0163caeae4ab1c5da62e301fa993101cfad
packageBookService/pages/bookServices/detail/index.wxml
@@ -2,167 +2,172 @@
<import src="index.skeleton.wxml" />
<template is="skeleton" wx:if="{{pageLoading}}" />
<!--导航区域 -->
<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>
  <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;">
    <view>
      <t-icon
        name="chevron-left"
        size="30"
        data-name="{{item}}"
        bind:click="goBack"
      />
    </view>
    <view class="navbar-title">{{options.name}}</view>
  </view>
  <t-toast id="t-toast" />
  <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}}"
            />
          </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}}"
                />
              </view>
              <view class="use-title">收藏</view>
            </view>
            <view class="suggest" bind:tap="suggestBtn">
              <view>
                <image
                  loading=""
                  src="/static/images/bookService/detail/suggest.png"
                />
              </view>
              <view class="use-title">我要建议</view>
            </view>
          </view>
        </view>
        <view class="detail-right">
          <view class="book-name showTow">{{bookDetail.name}}</view>
          <view class="book-message">
            <view class="message-li" wx:if="{{bookDetail.seriesName}}">
              <view class="li-title">丛书名:</view>
              <view class="li-content">{{bookDetail.seriesName}}</view>
            </view>
            <view class="message-li">
              <view class="li-title" wx:if="{{bookDetail.author}}">作者:</view>
              <view class="li-content">{{bookDetail.author}}</view>
            </view>
            <view class="message-li" wx:if="{{bookDetail.isbn}}">
              <view class="li-title">ISBN:</view>
              <view class="li-content">{{bookDetail.isbn}}</view>
            </view>
            <view class="message-li">
              <view class="li-title" wx:if="{{bookDetail.publicationDate}}"
                >出版时间:</view
              >
              <view class="li-content">{{bookDetail.publicationDate}}</view>
            </view>
            <view
              class="message-li"
              wx:if="{{bookDetail.class}}"
              style="height: 80rpx"
            >
              <view class="li-title">图书分类:</view>
              <view class="class-name showTow">{{bookDetail.class}}</view>
            </view>
          </view>
          <image
            src="/static/images/bookService/detail/square.png"
            class="right-background"
          />
        </view>
      </view>
      <!-- 销售信息 -->
      <view class="book-sale">
        <view class="book-price">
          <!-- 电子书售价 -->
          <view class="electron-price" wx:if="{{bookDetail.price}}">
            <view>
  <movable-area class="movable-area">
    <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
                src="/static/images/bookService/detail/electon-price.png"
                loading=""
                src="{{bookDetail.icon ? bookDetail.icon : '/static/images/default-book-img.png'}}"
                mode="aspectFit"
                aria-label="{{bookDetail.name}}"
              />
            </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="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}}"
                  />
                </view>
                <view class="use-title">收藏</view>
              </view>
              <view class="suggest" bind:tap="suggestBtn">
                <view>
                  <image
                    loading=""
                    src="/static/images/bookService/detail/suggest.png"
                  />
                </view>
                <view class="use-title">建议</view>
              </view>
              <view class="suggest" bindtap="editPhone">
                <t-icon
                  class="editIcon"
                  style="color: rgb(194, 194, 194)"
                  name="calendar-edit"
                  size="40rpx"
                />
                <view class="use-title">联系</view>
              </view>
            </view>
            <view> </view>
          </view>
          <!-- 纸质书售价 -->
          <view class="paper-price" wx:if="{{bookDetail.paperPrice}}">
            <view>
              <image src="/static/images/bookService/detail/paper-price.png" />
          <view class="detail-right">
            <view class="book-name showTow">{{bookDetail.name}}</view>
            <view class="book-message">
              <view class="message-li" wx:if="{{bookDetail.seriesName}}">
                <view class="li-title">丛书名:</view>
                <view class="li-content">{{bookDetail.seriesName}}</view>
              </view>
              <view class="message-li" wx:if="{{bookDetail.author}}">
                <view class="li-title">作者:</view>
                <view class="li-content">{{bookDetail.author}}</view>
              </view>
              <view class="message-li" wx:if="{{bookDetail.isbn}}">
                <view class="li-title">ISBN:</view>
                <view class="li-content">{{bookDetail.isbn}}</view>
              </view>
              <view class="message-li" wx:if="{{bookDetail.publicationDate}}">
                <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="li-title">图书分类:</view>
                <view class="class-name showTow">{{bookClass}}</view>
              </view>
            </view>
            <view class="price"
              >{{bookDetail.paperPrice == '0.00' ? '免费' :
              '¥'+bookDetail.paperPrice}}</view
            >
            <image
              src="/static/images/bookService/detail/square.png"
              class="right-background"
            />
          </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}}"
          />
        <!-- 销售信息 -->
        <view class="book-sale">
          <view class="book-price">
            <!-- 电子书售价 -->
            <view class="electron-price" wx:if="{{bookDetail.price}}">
              <view>
                <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>
              </view>
              <view> </view>
            </view>
            <!-- 纸质书售价 -->
            <view class="paper-price" wx:if="{{bookDetail.paperPrice}}">
              <view>
                <image
                  src="/static/images/bookService/detail/paper-price.png"
                />
              </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}}"
            />
          </view>
        </view>
      </view>
    </view>
    <view class="book-resource">
      <movable-area class="movable-area">
      <view class="book-resource">
        <t-tabs
          value="{{tabValue}}"
          bind:change="onTabsChange"
@@ -171,21 +176,23 @@
          class="tab-class"
        >
          <t-tab-panel
            label="图书简介"
            label="图书信息"
            icon="{{ tabValue == 'brief' ? briefIconClick : briefIcon}}"
            value="brief"
            style="{{tabPanelstyle}}"
          >
            <book-brief
              content="{{bookDetail.content}}"
              catalogue="{{bookDetail.catalogue}}"
              authorIntroduction="{{bookDetail.authorIntroduction}}"
              wx:if="{{bookDetail.content || bookDetail.authorIntroduction}}"
            ></book-brief>
            <view
              wx:if="{{!bookDetail.content && !bookDetail.authorIntroduction}}"
              wx:if="{{!bookDetail.content && !bookDetail.authorIntroduction && !loading}}"
              class="noData"
            >
              <t-empty icon="folder-open" description="暂无数据" />
              <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
              <empty />
            </view>
          </t-tab-panel>
          <!-- <t-tab-panel
@@ -201,15 +208,15 @@
            value="jsek_teachingResources"
            class="{{loading ? 'loading': ''}}"
          >
            <view
              wx:if="{{!loading && teach.length && !noResources && applyState}}"
            >
            <view wx:if="{{!loading  && applyState}}">
              <teach-resource
                applyState="{{applyState}}"
                rejectCause="{{rejectCause}}"
                deadline="{{deadline}}"
                bind:applyResource="applyResource"
                md5List="{{md5List}}"
                applyResourceLoading="{{applyResourceLoading}}"
                bind:uploadFile="uploadFile"
              ></teach-resource>
              <tree
                id="teach-tree"
@@ -218,20 +225,25 @@
                treeList="{{teach}}"
                tab="{{tabValue}}"
                applyState="{{applyState}}"
                deadline="{{deadline}}"
                bind:downloadTeach="downloadTeach"
                bind:handleTree="handleTree"
                openTeachids="{{openTeachids}}"
                wx:if="{{teach.length}}"
                isShoppingCart="isShoppingCart"
                bind:updateCloudLearning="updateCloudLearning"
              ></tree>
            </view>
            <t-loading
              theme="circular"
              size="60rpx"
              class="loading"
              loading="{{loading }}"
            />
            <view wx:if="{{noResources}}" class="noData">
              <t-empty icon="folder-open" description="暂无数据" />
            <view wx:if="{{loading}}" style="width: 100%; height: min-content">
              <t-skeleton
                row-col="{{rowCol}}"
                theme="paragraph"
                animation="gradient"
                loading="{{loading}}"
              ></t-skeleton>
            </view>
            <view wx:if="{{noResources && !loading}}" class="noData">
              <empty />
            </view>
          </t-tab-panel>
          <t-tab-panel
@@ -248,6 +260,12 @@
                buyResourceData="{{buyResourceData}}"
                bookId="{{bookDetail.id}}"
                isshowDrawBtn="{{isshowDrawBtn}}"
                successOrderNumber="{{successOrderNumber}}"
                isGoBuyResource="{{isGoBuyResource}}"
                isShowBuyCloundMenu="{{isShowBuyCloundMenu}}"
                isShowBuyCloundBtn="{{isShowBuyCloundBtn}}"
                bind:buyCloudLearnClass="buyCloudLearnClass"
                learnTaskData="{{learnTaskData}}"
              ></learn-resource>
              <tree
@@ -256,14 +274,19 @@
                bookInfo="{{bookDetail}}"
                tab="{{tabValue}}"
                treeList="{{learn}}"
                learnList="{{learn}}"
                buyIds="{{buyIdList}}"
                openLearnids="{{openLearnids}}"
                cloundMenuIsBuy="{{cloundMenuIsBuy}}"
                learnMenu="{{learnMenu}}"
                isCloundHaveSaleMethod="{{isCloundHaveSaleMethod}}"
                bind:updateShoppingCartHidden="updateShoppingCartHidden"
                bind:updateCloudLearning="updateCloudLearning"
                bind:getCloundIsBuy="getCloundIsBuy"
              ></tree>
            </view>
            <view wx:if="{{noResources}}" class="noData">
              <t-empty icon="folder-open" description="暂无数据" />
            <view wx:if="{{noResources && !loading}}" class="noData">
              <empty />
            </view>
          </t-tab-panel>
          <t-tab-panel
@@ -276,9 +299,18 @@
              <test-resource
                id="test-resource"
                list="{{test}}"
                bankSaleData="{{bankSaleData}}"
                isBuyBank="{{isBuyBank}}"
                isShoppingBank="{{isShoppingBank}}"
                bookInfo="{{bookDetail}}"
                openIds="{{openLearnids}}"
                mockData="{{mockData}}"
                tab="{{tabValue}}"
                storeInfo="{{options.storeInfo}}"
                jslx="{{jslx}}"
                bind:buyMock="buyMock"
                bind:buyBank="buyBank"
                bind:handleShoppingBank="handleShoppingBank"
              ></test-resource>
            </view>
          </t-tab-panel>
@@ -304,26 +336,28 @@
            ></related-books>
          </t-tab-panel>
        </t-tabs>
        <movable-view
          class="movable-view"
          :x="{{x}}"
          :y="{{y}}"
          direction="all"
        >
          <view class="applyBox" bindtap="goApply">
            <view class="box">
              <t-image
                src="/static/images/home/yangshuForm1.png"
                mode="heightFix"
                class="img"
              />
              <view class="num" wx:if="{{num > 0}}">{{num}}</view>
            </view>
          </view>
        </movable-view>
      </movable-area>
      </view>
    </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"
          />
          <view class="num" wx:if="{{num > 0}}">{{num}}</view>
        </view>
      </view>
    </movable-view>
  </movable-area>
  <!-- 联系编辑弹窗 -->
  <t-dialog visible="{{editDialog}}" close-btn bind:close="closeEditDialog">
    <view slot="content" class="editContent">
      <view class="editText">图书编辑:{{bookDetail.bookEditor}}</view>
      <view class="editText">联系方式:{{bookDetail.contactInformation}}</view>
    </view>
  </scroll-view>
  </t-dialog>
  <!-- 我要建议弹窗 -->
  <suggest
    class="suggest-component"
@@ -360,9 +394,10 @@
      <view class="btn-text">纸质样书申请</view>
    </view>
    <view
      class="{{!bookBuy && bookDetail.isSell ? 'bottom-btn tryRead' : 'bottom-btn try'}}"
      class="{{!bookBuy  ? 'bottom-btn tryRead' : 'bottom-btn try'}}"
      bind:tap="goRead"
      wx:if="{{!bookBuy}}"
      data-type="freeFile"
      wx:if="{{!bookBuy || applicationState == 'overdue'}}"
    >
      <view>
        <t-image src="/static/images/bookService/detail/shidu.png"></t-image>
@@ -373,7 +408,7 @@
    <view
      class="shopCar shopCarColor"
      bind:tap="addBookShopcCar"
      wx:if="{{!bookBuy && bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}"
      wx:if="{{!bookBuy &&  bookDetail.price !== '0.00' && bookDetail.isSell == '1'}}"
      >加入购物车</view
    >
    <view
@@ -388,10 +423,149 @@
      wx:if="{{!bookBuy && bookDetail.price == '0.00' && bookDetail.isSell == '1'}}"
      >免费领取</view
    >
    <view class="buy read" bind:tap="goRead" wx:if="{{bookBuy}}">立即查看</view>
    <view
      class="buy read"
      bind:tap="goRead"
      data-type="file"
      wx:if="{{bookBuy || applicationState == 'Normal'}}"
      >立即查看</view
    >
  </view>
</view>
<view wx:if="{{dialogBox}}">
  <view class="popup-box" bindtap="closeDialog"></view>
  <view class="info-center">
    <view>
      <view class="row-info">
        <view class="body">
          <view class="dialog-title">文件上传</view>
          <view
            style="width: 100%; height: 2rpx; background-color: #f4f4f4"
          ></view>
          <view class="from-item">
            <view class="label"> <text class="icon">*</text>资源名称: </view>
            <view class="item-content">
              <view class="inputBox1">
                <t-input
                  placeholder="输入资源名称"
                  borderless
                  value="{{resourceInfo.resourceName}}"
                  bindchange="onNameInput"
                />
              </view>
            </view>
          </view>
          <view class="from-item">
            <view class="label"> <text class="icon">*</text>资源类型: </view>
            <view class="item-content">
              <!-- <view class="inputBox1">
                <t-input placeholder="输入资源类型" borderless value="{{resourceInfo.fileType}}" bindchange="onFileTypeInput" />
              </view> -->
              <t-cell
                class="mb-16"
                title=""
                arrow
                hover
                note="{{resourceInfo.fileType}}"
                bind:click="onResourcePicker"
              />
              <t-picker
                visible="{{resourceVisible}}"
                value="{{resourceValue}}"
                data-key="resource"
                title="选择资源类型"
                cancelBtn="取消"
                confirmBtn="确认"
                usingCustomNavbar
                bindchange="onPickerChange"
                bindcancel="onPickerCancel"
              >
                <t-picker-item options="{{fileTypeList}}" />
              </t-picker>
            </view>
          </view>
          <view class="from-item">
            <view class="label">文件描述:</view>
            <view class="item-content">
              <view class="inputBox1">
                <t-textarea
                  placeholder="请输入文件描述"
                  value="{{resourceInfo.description}}"
                  disableDefaultPadding="{{true}}"
                  autosize="{{true}}"
                  maxlength="300"
                  indicator
                  bind:change="textareaChange"
                />
              </view>
            </view>
          </view>
          <view class="from-item">
            <view class="label"> <text class="icon">*</text>上传文件: </view>
            <view class="item-content">
              <t-button
                size="small"
                class="right-btn"
                bind:tap="uploadPicture"
                wx:if="{{isShowUp}}"
                >点击上传</t-button
              >
              <view
                wx:if="{{!isShowUp && fileList.length > 0}}"
                class="fileList"
              >
                <text class="fileName">{{fileList[0].name}}</text>
                <image
                  src="/static/images/bookService/detail/deleteHover.png"
                  class="deleteBtn"
                  data-md5="{{fileList[0].md5}}"
                  bind:tap="handleRemove"
                />
              </view>
            </view>
            <view class="tip">注:文件大小不得超过50MB</view>
          </view>
          <view class="from-item">
            <view class="protocolBox">
              <t-checkbox
                label="同意"
                icon="rectangle"
                checked="{{resourceInfo.agree}}"
                bind:change="onChange"
              />
              <text class="wait" bind:tap="getAgreement">《授权同意书》</text>
            </view>
          </view>
        </view>
        <view class="row-btn">
          <view class="left-btn" bindtap="closeDialog">取消</view>
          <view class="right-btn" bindtap="confirmM">确认</view>
        </view>
      </view>
    </view>
  </view>
</view>
<view class="popupBox">
  <t-popup
    visible="{{protocolShow}}"
    bind:visible-change="onVisibleChange"
    placement="center"
  >
    <view class="block">
      <view class="protocol">
        <rich-text space="emsp" nodes="{{protocolTxt}}" class="content" />
      </view>
      <t-icon
        t-class="close-btn"
        name="close-circle"
        size="32"
        color="#fff"
        bind:tap="onCloseProtocol"
      />
    </view>
  </t-popup>
</view>
<!-- <view class="loading" wx:if="{{pageLoading}}">
  <t-loading loading="{{pageLoading}}" size="40"></t-loading>
</view> -->