闫增涛
2024-09-19 d7e794685c439cb820259813b5e826a0ea218914
bug修改
11个文件已修改
921 ■■■■ 已修改文件
packageBookService/pages/bookServices/detail/components/learnResource/learnResource.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/tree/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.js 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.wxml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/publickBookForm/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/teacherCertification/index.wxml 355 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageDomain/pages/teacherCertification/index.wxss 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/question/question.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/question/question.wxml 77 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/index.wxml 436 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/learnResource/learnResource.js
@@ -72,6 +72,14 @@
      wx.navigateTo({
        url: `/packageBookService/pages/bookServices/detail/components/learnTask/index?bookId=${this.properties.bookId}`,
      })
    },
    buyCloudLearnClass() {
      var myEventDetail = {} // detail对象,提供给事件监听函数
      var myEventOption = {
        bubbles: true,
        composed: true
      } // 触发事件的选项
      this.triggerEvent('buyCloudLearnClass', myEventDetail, myEventOption)
    }
  }
})
packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxml
@@ -35,6 +35,7 @@
    theme="primary"
    class="btn"
    style="height: 72rpx; font-size: 28rpx"
    bind:tap="buyCloudLearnClass"
    wx:if="{{isShowBuyCloundMenu}}"
  >
    <view slot="content" class="btn-content">
packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -233,8 +233,8 @@
          //   title: '暂未开售',
          // })
          const buyList = learn.filter((citem) => this.properties.buyIds.includes(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').Id))
          // 资源和本身都未购买
          if (!buyList.length) {
          if (!buyList.length && learn.length) {
            // 资源和本身都未购买 且 父级或本身有销售方式
            const itemSaleMethod = item.saleMethod && item.saleMethod.length ? item.saleMethod.find(citem => citem.SaleType == 'Normal') : undefined
            return wx.showToast({
              icon: 'error',
packageBookService/pages/bookServices/detail/index.js
@@ -1833,6 +1833,32 @@
      });
    }
  },
  // 云学习全部购买
  async buyCloudLearnClass() {
    const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning')
    debugger
    let query = {
      remarks: '云学习',
      requests: [{
        saleMethodId: cloundMenu.saleMethod.find((eitem) => eitem.SaleType == 'Normal').Id,
        count: 1
      }]
    }
    const initOrderRes = await app.MG.store.initOrder(query)
    // 检查订单号是否存在
    if (initOrderRes.orderNumber) {
      // bookService: orderNumber.value,  少传这个 ,暂时不知道有什么用
      wx.navigateTo({
        url: `/pages/cart/paymentPage/index?&bookId=${this.data.bookDetail.id}&bookName=${this.data.bookDetail.name}&orderNumber=${initOrderRes.orderNumber}`,
      });
    } else {
      // 订单号不存在,显示警告消息
      wx.showToast({
        icon: "error",
        title: "请重试",
      });
    }
  },
  // 云学习字段购买
  async buyCloundMenu() {
    const cloundData = this.data.resourceCodeList.find(item => item.refCode == 'jsek_cloudLearning')
@@ -2541,6 +2567,11 @@
    return childrenList
  },
  uploadFile(e) {
    const userInfo = JSON.parse(wx.getStorageSync(app.config.userInfoKey))
    if (userInfo.role != 'Teacher') return wx.showToast({
      icon: 'error',
      title: '请先进行教师认证',
    })
    this.setData({
      dialogBox: true,
      isShowUp: true
packageBookService/pages/bookServices/detail/index.wxml
@@ -257,6 +257,7 @@
                successOrderNumber="{{successOrderNumber}}"
                isGoBuyResource="{{isGoBuyResource}}"
                isShowBuyCloundMenu="{{isShowBuyCloundMenu}}"
                bind:buyCloudLearnClass="buyCloudLearnClass"
              ></learn-resource>
              <tree
packageDomain/pages/publickBookForm/index.js
@@ -83,7 +83,6 @@
  scroll() {
    // 监听视图滚动,手动收起键盘
    if (this.data.isKeyboard) {
      console.log(1);
      wx.hideKeyboard()
    }
  },
packageDomain/pages/teacherCertification/index.wxml
@@ -1,123 +1,246 @@
<view class="container" style="height:calc(100vh + {{keyboardHeight ? (keyboardHeight + 'px'):'0'}});padding-bottom:calc(180rpx +  {{keyboardHeight ?  120 + 'px':0}}) ">
  <scroll-view class="scroll content" scroll-y>
    <view class="tips" wx:if="{{!skeletonLoding}}"> 仅限学校本课程任课教师申请;请上传有效在职教师工作证将有助于审核。 </view>
    <view class="page-body" wx:if="{{!skeletonLoding}}">
      <view class=" baseInfoBox">
        <view class="from-item">
          <view class="label"> <text class="empty"></text>当前状态: </view>
          <view class="stateBox">
            <text class="wait" wx:if="{{teacherInfo.state == 'WaitAudit'}}">等待审核</text>
            <text class="yes" wx:if="{{teacherInfo.state == 'Normal'}}">已认证</text>
            <text class="no" wx:if="{{teacherInfo.state == 'Reject'}}">已驳回</text>
            <text class="wait" wx:if="{{teacherInfo.state == ''}}">待认证</text>
            <view class="reasonTxt" bindtap="previewReason" wx:if="{{teacherInfo.state == 'Reject'}}">查看原因</view>
          </view>
        </view>
        <view class="from-item">
          <view class="label"> <text class="icon">*</text>学校: </view>
          <view class="item-content">
            <t-input placeholder="请输入学校" borderless value="{{teacherInfo.schoolName}}" disabled="{{!editState}}" bindchange="onSchoolNameInput" />
          </view>
        </view>
        <view class="from-item">
          <view class="label"> <text class="icon">*</text>真实姓名: </view>
          <view class="item-content">
            <t-input placeholder="请输入真实姓名" borderless value="{{teacherInfo.fullName}}" disabled="{{!editState}}" bindchange="onFullNameInput" />
          </view>
        </view>
        <view class="from-item">
          <view class="label"> <text class="empty"></text>职称: </view>
          <view class="item-content state" wx:if="{{editState}}">
            <t-cell arrow note="{{teachText}}" bind:click="onTeachPicker" />
            <t-picker visible="{{teachVisible}}" value="{{teacherInfo.positionalTitle}}" title="选择职称" cancelBtn="取消" confirmBtn="确认" bindchange="onPickerChange" bindcancel="onPickerCancel">
              <t-picker-item options="{{teachPosts}}" />
            </t-picker>
          </view>
          <view class="item-content" wx:if="{{!editState}}">
            <t-cell arrow note="{{teachText}}" />
          </view>
        </view>
        <view class="from-item">
          <view class="label"> <text class="icon">*</text>任教课程: </view>
          <view class="item-content">
            <t-input placeholder="请输入任教课程" borderless value="{{teacherInfo.courseName}}" bindchange="onCourseNameInput" disabled="{{!editState}}" />
          </view>
        </view>
        <view class="from-item">
          <view class="label"> <text class="icon">*</text>手机号: </view>
          <view class="item-content">
            <t-input placeholder="输入手机号码" borderless value="{{teacherInfo.phone}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" disabled="{{!editState}}" />
          </view>
        </view>
        <view class="from-item form-input-6">
          <view class="label"> <text class="empty"></text>座机: </view>
          <view class="item-content">
            <t-input placeholder="输入座机号" borderless value="{{teacherInfo.telphone}}" tips="{{telphoneError ? '座机号输入不正确' : ''}}" bindchange="onTelphoneInput" disabled="{{!editState}}" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-7" />
          </view>
        </view>
        <view class="from-item form-input-7">
          <view class="label"> <text class="icon">*</text>邮箱: </view>
          <view class="item-content">
            <t-input placeholder="输入邮箱" borderless value="{{teacherInfo.email}}" tips="{{emailError ? '邮箱输入不正确' : ''}}" bindchange="onEmailInput" disabled="{{!editState}}" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-7" />
          </view>
        </view>
        <view class="from-item form-input-8">
          <view class="label"> <text class="icon">*</text>详细地址: </view>
          <view class="item-content">
            <t-input placeholder="请输入详细地址" borderless value="{{teacherInfo.detailedAddress}}" bindchange="onAddressInput" disabled="{{!editState}}" adjust-position="{{isIos?false:true}}" bindkeyboardheightchange="bindkeyboardheightchange" bindblur="changeParam" data-class="form-input-8" />
          </view>
        </view>
      </view>
      <view class="fileInfoBox">
        <view class="from-item">
          <view class="label"> <text class="icon">*</text>在职教师工作证: </view>
          <view class="imageBox">
            <view class="weui-uploader">
              <view class='pics' wx:for="{{imgPics}}" wx:for-item="item" wx:key="*this">
                <image class='weui-uploader__img' src="{{item.url}}" data-index="{{index}}" mode="aspectFill" bindtap="previewImg">
                  <icon type='cancel' class="delete-btn" data-index="{{index}}" catchtap="deleteImg" wx:if="{{editState}}"></icon>
                </image>
              </view>
              <view class="tp_cont {{tj_ycang?'':'hide'}}" bindtap="chooseImg" wx:if="{{editState}}">
                <view class="tp_add">+</view>
              </view>
            </view>
          </view>
          <view class="fileTip">
            教务处盖章文件、校工卡皆可(不超过5个文件)
          </view>
        </view>
      </view>
      <view class="protocolBox">
        <t-checkbox label="" icon="rectangle" checked="{{teacherInfo.agree}}" bind:change="onChange" disabled="{{!editState}}" />
        <text class="wait" bind:tap="viewContent">《教师认证服务条款》</text>
      </view>
      <view class="btn-area" wx:if="{{editState}}">
        <button class="submit" bindtap="submit">提交</button>
<view class="tips" wx:if="{{!skeletonLoding}}">
  仅限学校本课程任课教师申请;请上传有效在职教师工作证将有助于审核。
</view>
<view class="page-body" wx:if="{{!skeletonLoding}}">
  <view class="baseInfoBox">
    <view class="from-item">
      <view class="label"> <text class="empty"></text>当前状态: </view>
      <view class="stateBox">
        <text class="wait" wx:if="{{teacherInfo.state == 'WaitAudit'}}"
          >等待审核</text
        >
        <text class="yes" wx:if="{{teacherInfo.state == 'Normal'}}"
          >已认证</text
        >
        <text class="no" wx:if="{{teacherInfo.state == 'Reject'}}">已驳回</text>
        <text class="wait" wx:if="{{teacherInfo.state == ''}}">待认证</text>
        <view
          class="reasonTxt"
          bindtap="previewReason"
          wx:if="{{teacherInfo.state == 'Reject'}}"
          >查看原因</view
        >
      </view>
    </view>
  </scroll-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 class="from-item">
      <view class="label"> <text class="icon">*</text>学校: </view>
      <view class="item-content">
        <t-input
          placeholder="请输入学校"
          borderless
          value="{{teacherInfo.schoolName}}"
          disabled="{{!editState}}"
          bindchange="onSchoolNameInput"
          adjust-position="{{false}}"
        />
      </view>
    </t-popup>
    <t-popup visible="{{reasonTxtShow}}" bind:visible-change="onVisibleChange" placement="center">
      <view class="reasonBlock">
        <view class="blick-header">
          驳回原因
        </view>
        <view class="reasonBox">
          {{reasonTxt}}
        </view>
        <t-icon t-class="close-btn" name="close-circle" size="32" color="#fff" bind:tap="onCloseReasonTxt" />
    </view>
    <view class="from-item">
      <view class="label"> <text class="icon">*</text>真实姓名: </view>
      <view class="item-content">
        <t-input
          placeholder="请输入真实姓名"
          borderless
          value="{{teacherInfo.fullName}}"
          disabled="{{!editState}}"
          bindchange="onFullNameInput"
          adjust-position="{{false}}"
        />
      </view>
    </t-popup>
    </view>
    <view class="from-item">
      <view class="label"> <text class="empty"></text>职称: </view>
      <view class="item-content state" wx:if="{{editState}}">
        <t-cell arrow note="{{teachText}}" bind:click="onTeachPicker" />
        <t-picker
          visible="{{teachVisible}}"
          value="{{teacherInfo.positionalTitle}}"
          title="选择职称"
          cancelBtn="取消"
          confirmBtn="确认"
          bindchange="onPickerChange"
          bindcancel="onPickerCancel"
          adjust-position="{{false}}"
        >
          <t-picker-item options="{{teachPosts}}" />
        </t-picker>
      </view>
      <view class="item-content" wx:if="{{!editState}}">
        <t-cell arrow note="{{teachText}}" />
      </view>
    </view>
    <view class="from-item">
      <view class="label"> <text class="icon">*</text>任教课程: </view>
      <view class="item-content">
        <t-input
          placeholder="请输入任教课程"
          borderless
          value="{{teacherInfo.courseName}}"
          bindchange="onCourseNameInput"
          disabled="{{!editState}}"
          adjust-position="{{false}}"
        />
      </view>
    </view>
    <view class="from-item">
      <view class="label"> <text class="icon">*</text>手机号: </view>
      <view class="item-content">
        <t-input
          placeholder="输入手机号码"
          borderless
          value="{{teacherInfo.phone}}"
          type="number"
          tips="{{phoneError ? '手机号输入不正确' : ''}}"
          bindchange="onPhoneInput"
          disabled="{{!editState}}"
          adjust-position="{{false}}"
        />
      </view>
    </view>
    <view class="from-item form-input-6">
      <view class="label"> <text class="empty"></text>座机: </view>
      <view class="item-content">
        <t-input
          placeholder="输入座机号"
          borderless
          value="{{teacherInfo.telphone}}"
          tips="{{telphoneError ? '座机号输入不正确' : ''}}"
          bindchange="onTelphoneInput"
          disabled="{{!editState}}"
          bindkeyboardheightchange="bindkeyboardheightchange"
          bindblur="changeParam"
          data-class="form-input-7"
          adjust-position="{{false}}"
        />
      </view>
    </view>
    <view class="from-item form-input-7">
      <view class="label"> <text class="icon">*</text>邮箱: </view>
      <view class="item-content">
        <t-input
          placeholder="输入邮箱"
          borderless
          value="{{teacherInfo.email}}"
          tips="{{emailError ? '邮箱输入不正确' : ''}}"
          bindchange="onEmailInput"
          disabled="{{!editState}}"
          bindkeyboardheightchange="bindkeyboardheightchange"
          bindblur="changeParam"
          data-class="form-input-7"
          adjust-position="{{false}}"
        />
      </view>
    </view>
    <view class="from-item form-input-8">
      <view class="label"> <text class="icon">*</text>详细地址: </view>
      <view class="item-content">
        <t-input
          placeholder="请输入详细地址"
          borderless
          value="{{teacherInfo.detailedAddress}}"
          bindchange="onAddressInput"
          disabled="{{!editState}}"
          adjust-position="{{false}}"
          bindkeyboardheightchange="bindkeyboardheightchange"
          bindblur="changeParam"
          data-class="form-input-8"
        />
      </view>
    </view>
  </view>
  <view class="fileInfoBox">
    <view class="from-item">
      <view class="label"> <text class="icon">*</text>在职教师工作证: </view>
      <view class="imageBox">
        <view class="weui-uploader">
          <view
            class="pics"
            wx:for="{{imgPics}}"
            wx:for-item="item"
            wx:key="*this"
          >
            <image
              class="weui-uploader__img"
              src="{{item.url}}"
              data-index="{{index}}"
              mode="aspectFill"
              bindtap="previewImg"
            >
              <icon
                type="cancel"
                class="delete-btn"
                data-index="{{index}}"
                catchtap="deleteImg"
                wx:if="{{editState}}"
              ></icon>
            </image>
          </view>
          <view
            class="tp_cont {{tj_ycang?'':'hide'}}"
            bindtap="chooseImg"
            wx:if="{{editState}}"
          >
            <view class="tp_add">+</view>
          </view>
        </view>
      </view>
      <view class="fileTip"> 教务处盖章文件、校工卡皆可(不超过5个文件) </view>
    </view>
  </view>
  <view class="protocolBox">
    <t-checkbox
      label=""
      icon="rectangle"
      checked="{{teacherInfo.agree}}"
      bind:change="onChange"
      disabled="{{!editState}}"
    />
    <text class="wait" bind:tap="viewContent">《教师认证服务条款》</text>
  </view>
  <view
    class="btn-area"
    wx:if="{{editState}}"
    style="padding-bottom: {{keyboardHeight ? keyboardHeight + 'rpx' : '20rpx'}}"
  >
    <button class="submit" bindtap="submit">提交</button>
  </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>
  <t-popup
    visible="{{reasonTxtShow}}"
    bind:visible-change="onVisibleChange"
    placement="center"
  >
    <view class="reasonBlock">
      <view class="blick-header"> 驳回原因 </view>
      <view class="reasonBox"> {{reasonTxt}} </view>
      <t-icon
        t-class="close-btn"
        name="close-circle"
        size="32"
        color="#fff"
        bind:tap="onCloseReasonTxt"
      />
    </view>
  </t-popup>
</view>
<import src="index.skeleton.wxml" />
<template is="skeleton" wx:if="{{skeletonLoding}}" />
<template is="skeleton" wx:if="{{skeletonLoding}}" />
packageDomain/pages/teacherCertification/index.wxss
@@ -1,7 +1,9 @@
@import "./index.skeleton.wxss";
page {
  background: #F2F3F8;
  overflow-y: auto !important;
  position: relative;
  background-color: #F2F3F8 !important;
}
.container {
pages/digitalCourses/digitalCoursesDetails/components/question/question.js
@@ -227,7 +227,6 @@
          if (!res.datas.length) {
            return this.setData({
              loading: false,
              noList: true,
              noteList: res.datas,
            });
          }
@@ -245,7 +244,7 @@
            "pageCount.total": list.length,
            onlineQuestionsList: list,
            loading: false,
            noList: false,
            noList: list.length ? false : true,
          });
          console.log(this.data.onlineQuestionsList, 3456)
        });
pages/digitalCourses/digitalCoursesDetails/components/question/question.wxml
@@ -1,7 +1,12 @@
<view class="note">
  <view class="note-btn">
    <view>共{{pageCount.total}}个</view>
    <t-button theme="primary" class="make-note" bind:tap="openDialog" style="width: 240rpx">
    <t-button
      theme="primary"
      class="make-note"
      bind:tap="openDialog"
      style="width: 240rpx"
    >
      <view slot="content" class="btn-content">
        <image src="/static/images/digitalCourses/bianji.png" />
        <text class="note-btn-text">提问</text>
@@ -9,8 +14,17 @@
    </t-button>
  </view>
  <view class="note-content">
    <t-collapse value="{{activeValues}}" bind:change="handleChange" wx:if="{{!loading && onlineQuestionsList.length}}">
      <t-collapse-panel value="{{item.id}}" expandIcon wx:for="{{onlineQuestionsList}}" wx:key="id">
    <t-collapse
      value="{{activeValues}}"
      bind:change="handleChange"
      wx:if="{{!loading && onlineQuestionsList.length}}"
    >
      <t-collapse-panel
        value="{{item.id}}"
        expandIcon
        wx:for="{{onlineQuestionsList}}"
        wx:key="id"
      >
        <view slot="header" class="collapse-header">
          <view class="note-icon"></view>
          <view class="header-name">{{item.title}}</view>
@@ -24,7 +38,6 @@
      </t-collapse-panel>
    </t-collapse>
    <view wx:if="{{noList}}" class="noData">
      <!-- <t-empty icon="folder-open" description="暂无数据" /> -->
      <empty />
    </view>
  </view>
@@ -34,33 +47,73 @@
  </view>
</view>
<view class="loading-box" wx:if="{{loading}}">
  <t-skeleton row-col="{{[1,1,1,1,1,1]}}" theme="paragraph" animation="gradient" loading="{{loading}}"></t-skeleton>
  <t-skeleton
    row-col="{{[1,1,1,1,1,1]}}"
    theme="paragraph"
    animation="gradient"
    loading="{{loading}}"
  ></t-skeleton>
</view>
<!-- 记笔记弹窗 -->
<t-popup visible="{{showNoteDialog}}" bind:visible-change="onVisibleChange" placement="center">
<t-popup
  visible="{{showNoteDialog}}"
  bind:visible-change="onVisibleChange"
  placement="center"
>
  <view class="popup">
    <view class="from-item">
      <view class="label"><text class="icon">*</text> 联系人: </view>
      <view class="item-content">
        <t-input placeholder="请输入联系人" borderless value="{{userName}}" bindchange="bindTnputBlur" style="{{inputStyle}}" />
        <t-input
          placeholder="请输入联系人"
          borderless
          value="{{userName}}"
          bindchange="bindTnputBlur"
          style="{{inputStyle}}"
        />
      </view>
    </view>
    <view class="from-item">
      <view class="label"> <text class="icon">*</text>联系方式: </view>
      <view class="item-content">
        <t-input placeholder="输入联系方式" borderless value="{{mannder}}" type="number" tips="{{phoneError ? '手机号输入不正确' : ''}}" bindchange="onPhoneInput" style="{{inputStyle}}" />
        <t-input
          placeholder="输入联系方式"
          borderless
          value="{{mannder}}"
          type="number"
          tips="{{phoneError ? '手机号输入不正确' : ''}}"
          bindchange="onPhoneInput"
          style="{{inputStyle}}"
        />
      </view>
    </view>
    <view class="from-item">
      <view class="label"> <text class="icon">*</text>反馈内容: </view>
      <view class="item-content">
        <t-textarea placeholder="请输入反馈内容" value="{{content}}" disableDefaultPadding="{{true}}" autosize="{{true}}" maxlength="300" indicator bindchange="bindTextAreaBlur" style="{{inputStyle}}" />
        <t-textarea
          placeholder="请输入反馈内容"
          value="{{content}}"
          disableDefaultPadding="{{true}}"
          autosize="{{true}}"
          maxlength="300"
          indicator
          bindchange="bindTextAreaBlur"
          style="{{inputStyle}}"
        />
      </view>
    </view>
    <view class="submit-btn">
      <t-button theme="primary" size="large" block bind:tap="confirmSuggest">提交</t-button>
      <t-button theme="primary" size="large" block bind:tap="confirmSuggest"
        >提交</t-button
      >
    </view>
  </view>
  <t-icon t-class="close-btn" name="close-circle" size="32" color="#fff" bind:tap="closeDialog" />
</t-popup>
  <t-icon
    t-class="close-btn"
    name="close-circle"
    size="32"
    color="#fff"
    bind:tap="closeDialog"
  />
</t-popup>
pages/digitalCourses/digitalCoursesDetails/index.wxml
@@ -6,7 +6,10 @@
      <view class="book-box">
        <view class="digitalCoursesDetailsTitle">
          <view class="imageBox">
            <image src="{{digitalsData.icon ? digitalsData.icon : 'https://jsek.bnuic.com/home/image/courseIcon.png'}}" mode="aspectFit" />
            <image
              src="{{digitalsData.icon ? digitalsData.icon : 'https://jsek.bnuic.com/home/image/courseIcon.png'}}"
              mode="aspectFit"
            />
          </view>
          <view class="nameBox">{{digitalsData.name}}</view>
          <view>
@@ -39,31 +42,64 @@
            </viwe>
            <viwe class="styleCssBox">
              <view style="width: 200rpx">出版时间:</view>
              <view wx:if="{{digitalsData.publicationDate}}">{{digitalsData.publicationDate}}
              <view wx:if="{{digitalsData.publicationDate}}"
                >{{digitalsData.publicationDate}}
              </view>
              <view wx:else>-</view>
            </viwe>
            <image src="/static/images/bookService/detail/square.png" mode="aspectFit" class="right-background" />
            <image
              src="/static/images/bookService/detail/square.png"
              mode="aspectFit"
              class="right-background"
            />
          </view>
        </view>
        <view class="certificate">
          <view style="margin-left: 30rpx">价格: <text>¥{{digitalsData.price}}</text> <text class="old-price" wx:if="{{digitalsData.oldPrice != '0.00'}}">¥{{ digitalsData.oldPrice }}</text> </view>
          <view style="margin-right: 30rpx">共<text>{{ digitalsData.classHours ? digitalsData.classHours :
              '0'}}</text>课时</view>
          <view style="margin-left: 30rpx"
            >价格:
            <text
              >{{digitalsData.price != '0.00' ? '¥' + digitalsData.price :
              '免费' }}</text
            >
            <text class="old-price" wx:if="{{digitalsData.oldPrice != '0.00'}}"
              >¥{{ digitalsData.oldPrice }}</text
            >
          </view>
          <view style="margin-right: 30rpx"
            >共<text
              >{{ digitalsData.classHours ? digitalsData.classHours :
              '0'}}</text
            >课时</view
          >
        </view>
      </view>
    </view>
    <view class="tabBox">
      <t-tabs defaultValue="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel">
        <t-tab-panel icon="{{ tabValue == '0' ? briefIconClick : briefIcon}}" label="基本信息" value="0">
      <t-tabs
        defaultValue="{{tabValue}}"
        bind:change="onTabsChange"
        t-class="custom-tabs"
        t-class-content="custom-panel"
      >
        <t-tab-panel
          icon="{{ tabValue == '0' ? briefIconClick : briefIcon}}"
          label="基本信息"
          value="0"
        >
          <view class="rubricBox">
            <view class="rubricimgBox">
              <image src="/static/images/bookService/detail/label.png" mode="aspectFit" />
              <image
                src="/static/images/bookService/detail/label.png"
                mode="aspectFit"
              />
            </view>
            <view class="basic"> 课程介绍</view>
          </view>
          <view class="course-content">
            <rich-text wx:if="{{digitalsData.content}}" nodes="{{digitalsData.content}}"></rich-text>
            <rich-text
              wx:if="{{digitalsData.content}}"
              nodes="{{digitalsData.content}}"
            ></rich-text>
            <view wx:else="" class="noDataBox">
              <!-- <t-empty icon="folder-open" description="暂无数据" font-size="80" /> -->
              <empty />
@@ -71,19 +107,42 @@
          </view>
          <view class="rubricBox">
            <view class="rubricimgBox">
              <image src="/static/images/bookService/detail/label.png" mode="aspectFit" />
              <image
                src="/static/images/bookService/detail/label.png"
                mode="aspectFit"
              />
            </view>
            <view class="basic"> 主讲老师</view>
          </view>
          <view class="course-content" wx:if="{{lecturerList.length> 0}}">
            <view class="lecturer" wx:for="{{lecturerList}}" wx:key="index" wx:for-item="item">
            <view
              class="lecturer"
              wx:for="{{lecturerList}}"
              wx:key="index"
              wx:for-item="item"
            >
              <view class="lecturerImangBox">
                <image src="{{item.icon}}" mode="aspectFit" wx:if="{{item.icon}}" />
                <image src="/static/images/lecturer.png" mode="aspectFit" wx:else />
                <image
                  src="{{item.icon}}"
                  mode="aspectFit"
                  wx:if="{{item.icon}}"
                />
                <image
                  src="/static/images/lecturer.png"
                  mode="aspectFit"
                  wx:else
                />
              </view>
              <view class="lecturerInformation">
                <view class="lecturerName">
                  <view class="name"> {{item.name}} <text class="positionalTitle" wx:if="{{item.positionalTitle}}">({{item.positionalTitle}})</text></view>
                  <view class="name">
                    {{item.name}}
                    <text
                      class="positionalTitle"
                      wx:if="{{item.positionalTitle}}"
                      >({{item.positionalTitle}})</text
                    ></view
                  >
                </view>
                <view class="lecturerContent">{{item.description}}</view>
              </view>
@@ -93,10 +152,17 @@
            <empty />
          </view>
        </t-tab-panel>
        <t-tab-panel icon="{{ tabValue == '1' ?  learnResourceClickIcon : learnResourceIcon}}" label="证书信息" value="1">
        <t-tab-panel
          icon="{{ tabValue == '1' ?  learnResourceClickIcon : learnResourceIcon}}"
          label="证书信息"
          value="1"
        >
          <view class="rubricBox">
            <view class="rubricimgBox">
              <image src="/static/images/digitalTextbooks/zhengshu@2x.png" mode="aspectFit" />
              <image
                src="/static/images/digitalTextbooks/zhengshu@2x.png"
                mode="aspectFit"
              />
            </view>
            <view class="basic"> 证书信息</view>
          </view>
@@ -110,65 +176,193 @@
              </view>
            </view>
          </view>
          <canvas canvas-id="myCanvas" style="height: 845px; width: 595px" wx:if="{{pubCertificateHide}}"></canvas>
          <view id="pubCertificate" class="my_canvas" wx:if="{{pubCertificateHide}}">
            <image data-type="image" data-url="https://jsek.bnuic.com/home/certificate/szkc.jpg" src="https://jsek.bnuic.com/home/certificate/szkc.jpg" mode="" class="bgImg my_draw_canvas" />
          <canvas
            canvas-id="myCanvas"
            style="height: 845px; width: 595px"
            wx:if="{{pubCertificateHide}}"
          ></canvas>
          <view
            id="pubCertificate"
            class="my_canvas"
            wx:if="{{pubCertificateHide}}"
          >
            <image
              data-type="image"
              data-url="https://jsek.bnuic.com/home/certificate/szkc.jpg"
              src="https://jsek.bnuic.com/home/certificate/szkc.jpg"
              mode=""
              class="bgImg my_draw_canvas"
            />
            <view class="certificateInfo my_draw_canvas">
              <view class="bookName my_draw_canvas" data-type="text" data-text="{{digitalsData.name}}">{{digitalsData.name}}</view>
              <view class="author my_draw_canvas" data-type="text" data-text="{{digitalsData.courseLeader}}">{{digitalsData.courseLeader || '-' }}</view>
              <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.affiliatedUnit}}">{{digitalsData.affiliatedUnit || '-'}}</view>
              <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.isbn}}">
              <view
                class="bookName my_draw_canvas"
                data-type="text"
                data-text="{{digitalsData.name}}"
                >{{digitalsData.name}}</view
              >
              <view
                class="author my_draw_canvas"
                data-type="text"
                data-text="{{digitalsData.courseLeader}}"
                >{{digitalsData.courseLeader || '-' }}</view
              >
              <view
                class="affiliatedUnit my_draw_canvas"
                data-type="text"
                data-text="{{digitalsData.affiliatedUnit}}"
                >{{digitalsData.affiliatedUnit || '-'}}</view
              >
              <view
                class="affiliatedUnit my_draw_canvas"
                data-type="text"
                data-text="{{digitalsData.isbn}}"
              >
                {{ digitalsData.isbn || '-'}}
              </view>
              <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.publicationDate}}">{{digitalsData.publicationDate}}</view>
              <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{publishingUnit}}">{{publishingUnit}}</view>
              <view class="website my_draw_canvas" data-type="text" data-text="{{website}}">{{website}}</view>
              <view
                class="affiliatedUnit my_draw_canvas"
                data-type="text"
                data-text="{{digitalsData.publicationDate}}"
                >{{digitalsData.publicationDate}}</view
              >
              <view
                class="affiliatedUnit my_draw_canvas"
                data-type="text"
                data-text="{{publishingUnit}}"
                >{{publishingUnit}}</view
              >
              <view
                class="website my_draw_canvas"
                data-type="text"
                data-text="{{website}}"
                >{{website}}</view
              >
              <view class="codeBox"></view>
            </view>
          </view>
          <canvas canvas-id="myCanvas1" style="height:845px;width:595px" wx:if="{{pubCertificateHide}}"></canvas>
          <view id="textCertificate" class="my_canvas1" wx:if="{{pubCertificateHide}}">
            <image data-type="image" data-url="https://jsek.bnuic.com/home/certificate/kczs.jpg" src="https://jsek.bnuic.com/home/certificate/kczs.jpg" mode="" class="bgImg my_draw_canvas1" />
          <canvas
            canvas-id="myCanvas1"
            style="height: 845px; width: 595px"
            wx:if="{{pubCertificateHide}}"
          ></canvas>
          <view
            id="textCertificate"
            class="my_canvas1"
            wx:if="{{pubCertificateHide}}"
          >
            <image
              data-type="image"
              data-url="https://jsek.bnuic.com/home/certificate/kczs.jpg"
              src="https://jsek.bnuic.com/home/certificate/kczs.jpg"
              mode=""
              class="bgImg my_draw_canvas1"
            />
            <view class="certificateInfo my_draw_canvas1">
              <view class="userIcon my_draw_canvas1">
                <view class="hexagon my_draw_canvas1">
                  <image src="{{userPicture}}" class="img my_draw_canvas1" />
                </view>
              </view>
              <view class="userName my_draw_canvas1" data-type="text" data-text="{{userName}}">{{userName}}</view>
              <view class="bookName my_draw_canvas1" data-type="text" data-text="{{digitalsData.name}}">{{digitalsData.name}}</view>
              <view class="author my_draw_canvas1" data-type="text" data-text="{{digitalsData.courseLeader || '-'}}">{{digitalsData.courseLeader || '-' }}</view>
              <view class="classHours my_draw_canvas1" data-type="text" data-text="{{digitalsData.classHours || '-'}}">{{digitalsData.classHours || '-' }}</view>
              <view class="affiliatedUnit my_draw_canvas1" data-type="text" data-text="{{publishingUnit || '-'}}">{{publishingUnit || '-'}}</view>
              <view class="studyTime my_draw_canvas1" data-type="text" data-text="{{isCertificate ? isCertificate.content.studyTime || '-' : '-'}}">{{ isCertificate ? isCertificate.content.studyTime || '-' : '-' }}</view>
              <view class="website my_draw_canvas1" data-type="text" data-text="{{website}}">{{website}}</view>
              <view
                class="userName my_draw_canvas1"
                data-type="text"
                data-text="{{userName}}"
                >{{userName}}</view
              >
              <view
                class="bookName my_draw_canvas1"
                data-type="text"
                data-text="{{digitalsData.name}}"
                >{{digitalsData.name}}</view
              >
              <view
                class="author my_draw_canvas1"
                data-type="text"
                data-text="{{digitalsData.courseLeader || '-'}}"
                >{{digitalsData.courseLeader || '-' }}</view
              >
              <view
                class="classHours my_draw_canvas1"
                data-type="text"
                data-text="{{digitalsData.classHours || '-'}}"
                >{{digitalsData.classHours || '-' }}</view
              >
              <view
                class="affiliatedUnit my_draw_canvas1"
                data-type="text"
                data-text="{{publishingUnit || '-'}}"
                >{{publishingUnit || '-'}}</view
              >
              <view
                class="studyTime my_draw_canvas1"
                data-type="text"
                data-text="{{isCertificate ? isCertificate.content.studyTime || '-' : '-'}}"
                >{{ isCertificate ? isCertificate.content.studyTime || '-' : '-'
                }}</view
              >
              <view
                class="website my_draw_canvas1"
                data-type="text"
                data-text="{{website}}"
                >{{website}}</view
              >
              <view class="codeBox my_draw_canvas1"></view>
              <view class="updateDate my_draw_canvas1" wx-if="{{isCertificate}}">
              <view
                class="updateDate my_draw_canvas1"
                wx-if="{{isCertificate}}"
              >
                {{ moment(isCertificate.updateDate).format('YYYY年MM月') }}
              </view>
            </view>
          </view>
        </t-tab-panel>
        <t-tab-panel icon="{{ tabValue == '2' ? courseLearningClick : courseLearning}}" label="课程学习" value="2">
        <t-tab-panel
          icon="{{ tabValue == '2' ? courseLearningClick : courseLearning}}"
          label="课程学习"
          value="2"
        >
          <view class="course-content">
            <view class="tabsSelect">
              <view class="{{selectActive == 'learn' ? 'tabs-item selectActive' : 'tabs-item'}}" bind:tap="selectChange" data-value="{{'learn'}}">学习内容</view>
              <view class="{{selectActive == 'test' ? 'tabs-item selectActive' : 'tabs-item'}}" bind:tap="selectChange" data-value="{{'test'}}">在线测试</view>
              <view
                class="{{selectActive == 'learn' ? 'tabs-item selectActive' : 'tabs-item'}}"
                bind:tap="selectChange"
                data-value="{{'learn'}}"
                >学习内容</view
              >
              <view
                class="{{selectActive == 'test' ? 'tabs-item selectActive' : 'tabs-item'}}"
                bind:tap="selectChange"
                data-value="{{'test'}}"
                >在线测试</view
              >
            </view>
            <view class="list-box">
              <view wx:if="{{selectActive == 'learn'}}">
                <view wx:if="{{relationTextBook}}" class="textBook">
                  <view class="textTile">
                    <image src="/static/images/bookService/detail/shuzijiaocai.png" mode="" class="leftImg" />
                    <image
                      src="/static/images/bookService/detail/shuzijiaocai.png"
                      mode=""
                      class="leftImg"
                    />
                    <view>数字教材</view>
                  </view>
                  <view class="reabtn" bind:tap="readTextBook">
                    <image src="/static/images/digitalCourses/shidu@2x.png" class="readImage"></image>
                    <image
                      src="/static/images/digitalCourses/shidu@2x.png"
                      class="readImage"
                    ></image>
                    <view>{{isTextBookBuy ? '阅读' : '试看'}}</view>
                  </view>
                </view>
                <view wx:if="{{learnList.length > 0}}">
                  <tree id="test-tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" treeList="{{learnList}}" isBuy="{{isBuy}}">
                  <tree
                    id="test-tree"
                    openIds="{{openTeachids}}"
                    bookInfo="{{digitalsData}}"
                    treeList="{{learnList}}"
                    isBuy="{{isBuy}}"
                  >
                  </tree>
                </view>
                <view wx:if="{{learnList.length == 0}}" class="noData">
@@ -179,21 +373,44 @@
                <view class="testBtnBox">
                  <view class="textTile">共{{testCount}}个</view>
                  <view class="note-btn">
                    <t-button theme="primary" class="make-note" bind:tap="goMycollect" data-answerType="errorQuestion" style="width: 220rpx">
                    <t-button
                      theme="primary"
                      class="make-note"
                      bind:tap="goMycollect"
                      data-answerType="errorQuestion"
                      style="width: 220rpx"
                    >
                      <view slot="content" class="btn-content">
                        <image src="/static/images/bookService/detail/cuoti.png" />
                        <image
                          src="/static/images/bookService/detail/cuoti.png"
                        />
                        <text class="note-btn-text">我的错题</text>
                      </view>
                    </t-button>
                    <t-button theme="primary" class="make-note" bind:tap="goMycollect" data-answerType="collectQuestion" style="width: 220rpx; margin-left: 10rpx">
                    <t-button
                      theme="primary"
                      class="make-note"
                      bind:tap="goMycollect"
                      data-answerType="collectQuestion"
                      style="width: 220rpx; margin-left: 10rpx"
                    >
                      <view slot="content" class="btn-content">
                        <image src="/static/images/bookService/detail/wodeshoucang.png" />
                        <image
                          src="/static/images/bookService/detail/wodeshoucang.png"
                        />
                        <text class="note-btn-text">我的收藏</text>
                      </view>
                    </t-button>
                  </view>
                </view>
                <testTree id="tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" tab="{{tab}}" treeList="{{testList}}" isBuy="{{isBuy}}"></testTree>
                <testTree
                  id="tree"
                  openIds="{{openTeachids}}"
                  bookInfo="{{digitalsData}}"
                  tab="{{tab}}"
                  treeList="{{testList}}"
                  isBuy="{{isBuy}}"
                ></testTree>
                <view wx:if="{{testList.length == 0}}" class="noData">
                  <empty />
                </view>
@@ -201,9 +418,17 @@
            </view>
          </view>
        </t-tab-panel>
        <t-tab-panel icon="{{ tabValue == '3' ? learningNotesClick : learningNotes}}" label="学习笔记" value="3">
        <t-tab-panel
          icon="{{ tabValue == '3' ? learningNotesClick : learningNotes}}"
          label="学习笔记"
          value="3"
        >
          <view class="course-content">
            <note bookInfo="{{digitalsData}}" id="note" class="note-list"></note>
            <note
              bookInfo="{{digitalsData}}"
              id="note"
              class="note-list"
            ></note>
            <!-- <view class="topBox">
              <view></view>
              <view class="note-btn">
@@ -217,9 +442,17 @@
            </view> -->
          </view>
        </t-tab-panel>
        <t-tab-panel icon="{{ tabValue == '4' ? onlineQuestioningClick : onlineQuestioning}}" label="在线提问" value="4">
        <t-tab-panel
          icon="{{ tabValue == '4' ? onlineQuestioningClick : onlineQuestioning}}"
          label="在线提问"
          value="4"
        >
          <view class="course-content">
            <question bookInfo="{{digitalsData}}" id="question" class="note-list"></question>
            <question
              bookInfo="{{digitalsData}}"
              id="question"
              class="note-list"
            ></question>
            <!-- <view class="topBox">
              <view>共{{questionTotalCount}}个</view>
              <view class="note-btn">
@@ -249,10 +482,18 @@
            </view> -->
          </view>
        </t-tab-panel>
        <t-tab-panel icon="{{tabValue == '5' ? testResourceClickIocn : testResourceIocn}}" value="5" label="相关课程" style="{{tabPanelstyle}}">
        <t-tab-panel
          icon="{{tabValue == '5' ? testResourceClickIocn : testResourceIocn}}"
          value="5"
          label="相关课程"
          style="{{tabPanelstyle}}"
        >
          <view class="rubricBox">
            <view class="rubricimgBox">
              <image src="/static/images/digitalTextbooks/Link@3x.png" mode="aspectFit" />
              <image
                src="/static/images/digitalTextbooks/Link@3x.png"
                mode="aspectFit"
              />
            </view>
            <view class="basic"> 相关课程</view>
          </view>
@@ -260,10 +501,22 @@
            <empty />
          </view>
          <view class="correlation" wx:else>
            <view style="margin-bottom: 30rpx" wx:for="{{relatedBookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onCorrelationBook">
            <view
              style="margin-bottom: 30rpx"
              wx:for="{{relatedBookData}}"
              wx:key="index"
              wx:for-item="item"
              wx:for-index="index"
              data-item="{{item}}"
              bind:tap="onCorrelationBook"
            >
              <view class="correlationImage">
                <image src="{{item.icon}}" mode="aspectFit" />
                <img wx:if="{{item.icon == ''}}" src="/static/images/default-book-img.png" alt="" />
                <img
                  wx:if="{{item.icon == ''}}"
                  src="/static/images/default-book-img.png"
                  alt=""
                />
              </view>
              <view class="correlationName">{{item.name}}</view>
              <view class="correlationAuthor">{{digitalsData.author}}</view>
@@ -275,22 +528,46 @@
    <view class="box-bottom">
      <view class="bottom-btn" bind:tap="setCoolect">
        <view class="collectionImage">
          <image wx:if="{{!digitalsData.isFavourite}}" src="/static/images/digitalTextbooks/wodeshoucang@2x.png" />
          <image wx:else src="/static/images/bookService/detail/collecting.png" />
          <image
            wx:if="{{!digitalsData.isFavourite}}"
            src="/static/images/digitalTextbooks/wodeshoucang@2x.png"
          />
          <image
            wx:else
            src="/static/images/bookService/detail/collecting.png"
          />
        </view>
        <view class="btn-text">
          收藏
        </view>
        <view class="btn-text"> 收藏 </view>
      </view>
      <view class="bottom-btn" bind:tap="onCertificate" wx:if="{{!isCertificate.state || isCertificate.state == 'Reject'}}">
      <view
        class="bottom-btn"
        bind:tap="onCertificate"
        wx:if="{{!isCertificate.state || isCertificate.state == 'Reject'}}"
      >
        <view class="applicationImageBox">
          <image src="/static/images/digitalCourses/zhengshushenqing@2x.png" />
        </view>
        <view class="btn-text">证书申请</view>
      </view>
      <view class="bottom-btn shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!isBuy && digitalsData.price != '0.00' }}">加入购物车</view>
      <view class="bottom-btn buyColor" bind:tap="buyBtn" wx:if="{{!isBuy &&  digitalsData.price != '0.00'}}">立即购买</view>
      <view class="bottom-btn buyColor" bind:tap="buyBtn" wx:if="{{!isBuy &&  digitalsData.price == '0.00'}}"> 免费领取</view>
      <view
        class="bottom-btn shopCarColor"
        bind:tap="addBookShopcCar"
        wx:if="{{!isBuy && digitalsData.price != '0.00' }}"
        >加入购物车</view
      >
      <view
        class="bottom-btn buyColor"
        bind:tap="buyBtn"
        wx:if="{{!isBuy &&  digitalsData.price != '0.00'}}"
        >立即购买</view
      >
      <view
        class="bottom-btn buyColor"
        bind:tap="buyBtn"
        wx:if="{{!isBuy &&  digitalsData.price == '0.00'}}"
      >
        免费领取</view
      >
    </view>
    <t-toast id="t-toast" />
  </scroll-view>
@@ -303,15 +580,25 @@
      <view class="row-info">
        <view class="body">
          <view class="dialog-title">学习证书申请</view>
          <view style="width: 100%; height: 2rpx; background-color: #f4f4f4"></view>
          <view
            style="width: 100%; height: 2rpx; background-color: #f4f4f4"
          ></view>
          <view class="input-box">
            <t-input class="input" borderless placeholder="请输入真实姓名" value="{{userInfo.fullName}}" bind:change="onFullNameInput"></t-input>
            <t-input
              class="input"
              borderless
              placeholder="请输入真实姓名"
              value="{{userInfo.fullName}}"
              bind:change="onFullNameInput"
            ></t-input>
          </view>
          <view class="contentImg">
            <image src="{{userInfo.userPicture}}" mode="aspectFill" />
          </view>
          <view class="buttonBox">
            <t-button size="small" class="right-btn" bind:tap="uploadPicture">上传照片</t-button>
            <t-button size="small" class="right-btn" bind:tap="uploadPicture"
              >上传照片</t-button
            >
          </view>
        </view>
        <view class="row-btn">
@@ -323,4 +610,13 @@
  </view>
</view>
<t-image-viewer usingCustomNavbar deleteBtn="{{deleteBtn}}" closeBtn="{{closeBtn}}" showIndex="{{showIndex}}" visible="{{visible}}" images="{{images}}" bind:change="onChange" bind:close="onClose"></t-image-viewer>
<t-image-viewer
  usingCustomNavbar
  deleteBtn="{{deleteBtn}}"
  closeBtn="{{closeBtn}}"
  showIndex="{{showIndex}}"
  visible="{{visible}}"
  images="{{images}}"
  bind:change="onChange"
  bind:close="onClose"
></t-image-viewer>