111
QYF-GitLab1
2025-01-03 2ee8ddb1ecac7df4198e54e08ec7f22daf4b07c0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
<!--pages/bookServices/detail/index.wxml-->
<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}}">
  <t-toast id="t-toast" />
  <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 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 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 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>
            <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>
                <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 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}}" catalogue="{{bookDetail.catalogue}}" authorIntroduction="{{bookDetail.authorIntroduction}}" wx:if="{{bookDetail.content || bookDetail.authorIntroduction}}"></book-brief>
            <view wx:if="{{!bookDetail.content && !bookDetail.authorIntroduction && !loading}}" class="noData">
              <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
              <empty />
            </view>
          </t-tab-panel>
          <!-- <t-tab-panel
          label="电子书"
          icon="{{tabValue == 'jsek_eBook' ? eBookClickIcon : eBookIcon}}"
          value="jsek_eBook"
          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  && 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" openIds="{{openTeachids}}" bookInfo="{{bookDetail}}" 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>
            <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 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}}" isGoBuyResource="{{isGoBuyResource}}" isShowBuyCloundMenu="{{isShowBuyCloundMenu}}" isShowBuyCloundBtn="{{isShowBuyCloundBtn}}" bind:buyCloudLearnClass="buyCloudLearnClass" learnTaskData="{{learnTaskData}}"></learn-resource>
 
              <tree id="tree" openIds="{{openLearnids}}" 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 && !loading}}" class="noData">
              <empty />
            </view>
          </t-tab-panel>
          <t-tab-panel label="云测试" icon="{{tabValue == 'questionBank' ? testResourceClickIocn : testResourceIocn}}" value="questionBank" style="{{tabPanelstyle}}">
            <view wx:if="{{!loading}}">
              <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>
          <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>
        </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" />
          <view class="num" wx:if="{{num > 0}}">{{num}}</view>
        </view>
      </view>
    </movable-view>
  </movable-area>
  <!-- 联系编辑弹窗 -->
  <t-dialog visible="{{editDialog}}" close-btn>
    <view slot="content" class="editContent">
      <view class="editText">图书编辑:{{bookDetail.bookEditor}}</view>
      <view class="editText">联系方式:{{bookDetail.contactInformation}}</view>
    </view>
  </t-dialog>
  <!-- 我要建议弹窗 -->
  <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" />
  <!-- 购买按钮 -->
  <view class="box-bottom">
    <view class="bottom-btn" bind:tap="appplyElectronicBook">
      <view>
        <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>
      </view>
      <view class="btn-text">纸质样书申请</view>
    </view>
    <view class="{{!bookBuy && bookDetail.isSell ? 'bottom-btn tryRead' : 'bottom-btn try'}}" bind:tap="goRead" wx:if="{{!bookBuy || applicationState == 'overdue'}}">
      <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="buy read" bind:tap="goRead" 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> -->