Переглянути джерело

去除一些没用的页面

xuqiaoying 3 роки тому
батько
коміт
85a6cbba82

+ 7 - 7
common/request.js

@@ -4,21 +4,21 @@ import store from '@/store/index.js'
 import api from './api.js'
 var num = 1
 //接口api   
-// export const BASE_URL = 'https://api.xyyxt.net'   //release
+export const BASE_URL = 'https://api.xyyxt.net'   //release
 // export const BASE_URL = 'https://test.xyyxt.net'   //预发布
-export const BASE_URL = 'http://120.79.166.78:19012' // 测试环境
+// export const BASE_URL = 'http://120.79.166.78:19012' // 测试环境
 // export const BASE_URL = 'http://42.192.164.187:19005'    //test(后端本地)
 // export const BASE_URL = 'http://192.168.1.222:5055'    //后端本地更新到222
 // export const BASE_URL = 'http://192.168.1.24:5055'    //后端本地
 // export const BASE_URL = 'http://192.168.1.7:5055'    //后端本地
 
  //图片上传api
-// export const BASE_IMG_URL = 'https://file.xyyxt.net/'     //release
-export const BASE_IMG_URL = 'https://file-dev.xyyxt.net/'  //test
+export const BASE_IMG_URL = 'https://file.xyyxt.net/'     //release
+// export const BASE_IMG_URL = 'https://file-dev.xyyxt.net/'  //test
 
 // web_view的
-// export const WEBVIEW_URL = 'https://m.xyyxt.net/'  //release
-export const WEBVIEW_URL = 'https://testm.xyyxt.net/'  //预发布
+export const WEBVIEW_URL = 'https://m.xyyxt.net/'  //release
+// export const WEBVIEW_URL = 'https://testm.xyyxt.net/'  //预发布
 // export const WEBVIEW_URL = 'http://120.79.166.78:18001/' // 测试环境
 // export const WEBVIEW_URL = 'http://api.xyyxt.net:6066/'  //预发布(弃用了)
 
@@ -33,7 +33,7 @@ RVQplIVs5z3MxcUa9ptKPHUTgh8xMCBvl8sUJKwkmn4vYWeDfHT22EL7Hr1pTMwU
 hF6WiNlWfQTVoF1rhwIDAQAB
 -----END PUBLIC KEY-----`;
 
-export const version = '1.3.25' 
+export const version = '1.3.27' 
 export const tenantId = '867735392558919680' 
 export const myRequest = (options) => {
 	if (store.state.allowLoading && !options.noLoading) {

+ 0 - 2235
components/bank-exam/bankExam.vue

@@ -1,2235 +0,0 @@
-<template>
-	<view class="bankExam">
-		<swiper
-		  class="swiper"
-		  :current="currentIndex"
-		  @change="swiperChange"
-		  :interval="interval"
-		>
-		  <swiper-item v-for="(bank, bankIndex) in questionList" :key="bankIndex">
-		    <view class="pageContent">
-		      <view class="pad_8 titBox">
-		        <view class="firstLetter">
-		          <view class="leftLetters">
-		            <view class="btnType">
-		              <text v-if="bank.type == 1">单选</text>
-		              <text v-if="bank.type == 2">多选</text>
-		              <text v-if="bank.type == 3">判断</text>
-		              <text v-if="bank.type == 4">案例</text>
-		              <text v-if="bank.type == 5">简答</text>
-		            </view>
-		            <text>{{ bankIndex + 1 }}/{{ questionList.length }}</text>
-		          </view>
-		          <view style="color: #666; font-size: 28rpx">{{
-		            countdown(lastTime)
-		          }}</view>
-		        </view>
-		        <view class="titles" @click="showPhoto(bank.content)"
-		          ><rich-text :nodes="bank.content"></rich-text
-		        ></view>
-		      </view>
-		
-		      <template v-if="bank.type == 1">
-		        <view class="pad_8 titBox no-margin">
-		          <view v-if="!bank.ques">
-		            <view
-		              v-for="(item, index) in bank.jsonStr"
-		              :key="index"
-		              class="lisSty"
-		              @click="radioSelect(item.optionsId, bankIndex)"
-		            >
-		              <view class="activeTI">{{ ast[index] }}</view>
-		              <view class="flex_auto"
-		                >{{ item.content }}
-		                <view v-if="item.imgUrl">
-		                  <image
-		                    style="width: 600rpx"
-		                    mode="widthFix"
-		                    :src="$method.splitImgHost(item.imgUrl)"
-		                  ></image>
-		                </view>
-		              </view>
-		            </view>
-		          </view>
-		          <view v-if="bank.ques">
-		            <view
-		              v-for="(item, index) in bank.jsonStr"
-		              :key="index"
-		              class="lisSty"
-		            >
-		              <text
-		                :class="{
-		                  right:
-		                    item.optionsId == bank.ques ||
-		                    item.optionsId == bank.ans,
-		                  wrong:
-		                    item.optionsId == bank.ques && bank.ques != bank.ans,
-		                }"
-		                class="activeTI"
-		              >
-		                {{ ast[index] }}
-		              </text>
-		              <view class="flex_auto">
-		                {{ item.content }}
-		                <view v-if="item.imgUrl">
-		                  <image
-		                    style="width: 600rpx"
-		                    mode="widthFix"
-		                    :src="$method.splitImgHost(item.imgUrl)"
-		                  ></image>
-		                </view>
-		              </view>
-		            </view>
-		          </view>
-		        </view>
-		        <view v-if="bank.ques">
-		          <view class="pad_8 answer">
-		            <view>正确答案:{{ ast[bank.ans - 1] }} </view>
-		            <view>我的答案:{{ ast[bank.ques - 1] }}</view>
-		          </view>
-		          <view class="pad_8 answerInfos">
-		            <view class="answerTitle">答案解析</view>
-		            <view class="answerContent"
-		              ><rich-text :nodes="bank.analysisContent"></rich-text
-		            ></view>
-		          </view>
-		        </view>
-		      </template>
-		
-		      <template v-if="bank.type == 2">
-		        <view class="pad_8 titBox no-margin">
-		          <view v-if="!bank.ques">
-		            <view
-		              v-for="(item, index) in bank.jsonStr"
-		              :key="index"
-		              class="lisSty"
-		              @click="checkboxSelect(item.optionsId, bankIndex, index)"
-		            >
-		              <view :class="{ checked: item.checked }" class="activeTI">{{
-		                ast[index]
-		              }}</view>
-		              <view class="flex_auto">
-		                {{ item.content }}
-		                <view v-if="item.imgUrl">
-		                  <image
-		                    style="width: 600rpx"
-		                    mode="widthFix"
-		                    :src="$method.splitImgHost(item.imgUrl)"
-		                  ></image>
-		                </view>
-		              </view>
-		            </view>
-		          </view>
-		          <view v-if="bank.ques">
-		            <view
-		              v-for="(item, index) in bank.jsonStr"
-		              :key="index"
-		              class="lisSty"
-		            >
-		              <text
-		                :class="{
-		                  right:
-		                    bank.ques.indexOf(item.optionsId) != -1 ||
-		                    bank.ans.indexOf(item.optionsId) != -1,
-		                  wrong:
-		                    bank.ques.indexOf(item.optionsId) != -1 &&
-		                    bank.ans.indexOf(item.optionsId) == -1,
-		                }"
-		                class="activeTI"
-		              >
-		                {{ ast[index] }}
-		              </text>
-		              <view class="flex_auto">
-		                {{ item.content }}
-		                <view v-if="item.imgUrl">
-		                  <image
-		                    style="width: 600rpx"
-		                    mode="widthFix"
-		                    :src="$method.splitImgHost(item.imgUrl)"
-		                  ></image>
-		                </view>
-		              </view>
-		            </view>
-		          </view>
-		          <view
-		            v-if="!bank.ques"
-		            class="submit_checkbox"
-		            :class="{ disabled: !isCheckboxChecked(bank.jsonStr) }"
-		            @click="checkboxSubmit(bankIndex)"
-		            >确认答案</view
-		          >
-		        </view>
-		        <view v-if="bank.ques">
-		          <view class="pad_8 answer">
-		            <view>
-		              正确答案:
-		              <text
-		                v-for="(ansItem, ansIndex) in bank.ans"
-		                :key="ansIndex"
-		                >{{ ast[ansItem - 1] }}</text
-		              >
-		            </view>
-		            <view>
-		              我的答案:
-		              <text
-		                v-for="(quesItem, quesIndex) in bank.ques"
-		                :key="quesIndex"
-		                >{{ ast[quesItem - 1] }}</text
-		              >
-		            </view>
-		          </view>
-		          <view class="pad_8 answerInfos">
-		            <view class="answerTitle">答案解析</view>
-		            <view class="answerContent"
-		              ><rich-text :nodes="bank.analysisContent"></rich-text
-		            ></view>
-		          </view>
-		        </view>
-		      </template>
-		
-		      <template v-if="bank.type == 3">
-		        <view class="pad_8 titBox no-margin">
-		          <view v-if="!bank.ques">
-		            <view
-		              v-for="(item, index) in judge"
-		              :key="index"
-		              class="lisSty"
-		              @click="judgeSelect(index, bankIndex)"
-		            >
-		              <view class="activeTI">{{ ast[index] }}</view>
-		              <view class="flex_auto">
-		                {{ item }}
-		                <view v-if="item.imgUrl">
-		                  <image
-		                    style="width: 600rpx"
-		                    mode="widthFix"
-		                    :src="$method.splitImgHost(item.imgUrl)"
-		                  ></image>
-		                </view>
-		              </view>
-		            </view>
-		          </view>
-		          <view v-if="bank.ques">
-		            <view
-		              v-for="(item, index) in judge"
-		              :key="index"
-		              class="lisSty"
-		            >
-		              <text
-		                :class="{
-		                  right: index == bank.ques || index == bank.ans,
-		                  wrong: index == bank.ques && bank.ques != bank.ans,
-		                }"
-		                class="activeTI"
-		              >
-		                {{ ast[index] }}
-		              </text>
-		              <view class="flex_auto">
-		                {{ item }}
-		                <view v-if="item.imgUrl">
-		                  <image
-		                    style="width: 600rpx"
-		                    mode="widthFix"
-		                    :src="$method.splitImgHost(item.imgUrl)"
-		                  ></image>
-		                </view>
-		              </view>
-		            </view>
-		          </view>
-		        </view>
-		        <view v-if="bank.ques">
-		          <view class="pad_8 answer">
-		            <view>正确答案:{{ ast[bank.ans] }}</view>
-		            <view>我的答案:{{ ast[bank.ques] }}</view>
-		          </view>
-		          <view class="pad_8 answerInfos">
-		            <view class="answerTitle">答案解析</view>
-		            <view class="answerContent"
-		              ><rich-text :nodes="bank.analysisContent"></rich-text
-		            ></view>
-		          </view>
-		        </view>
-		      </template>
-		
-		      <!-- 简答题 -->
-		      <template v-if="bank.type == 5">
-		        <view class="pad_8 titBox">
-		          <view class="ans">
-		            <view
-		              class="ans_input"
-		              v-if="
-		                !bank.ques ||
-		                (!bank.ques.imageList.length && !bank.ques.text)
-		              "
-		            >
-		              <view class="top flex">
-		                <image
-		                  :data-index="bankIndex"
-		                  class="icon"
-		                  @click="chooseImg(bankIndex)"
-		                  src="/static/camera.png"
-		                  mode=""
-		                ></image>
-		                <view class="progress"
-		                  >{{ bank.ansText.imageList.length || "0" }}/4</view
-		                >
-		                <view
-		                  class="submit"
-		                  :class="{ disabled: !bank.ansText.text && hasImgs(bank) }"
-		                  @click="submitAns(bankIndex)"
-		                  >确认答案</view
-		                >
-		              </view>
-		              <view class="textarea">
-		                <textarea
-		                  v-model="bank.ansText.text"
-		                  placeholder="在此输入答案"
-		                ></textarea>
-		              </view>
-		              <view class="imgs">
-		                <view
-		                  class="img"
-		                  v-for="(img, imgIndex) in bank.ansText.imageList"
-		                  :key="imgIndex"
-		                >
-		                  <text @click="deleteImg(imgIndex, bankIndex)">x</text>
-		                  <image :src="$method.splitImgHost(img, true)"></image>
-		                </view>
-		              </view>
-		            </view>
-		            <view
-		              class="ans_submit answerInfos"
-		              v-if="
-		                bank.ques && (bank.ques.imageList.length || bank.ques.text)
-		              "
-		            >
-		              <view class="answerTitle">我的答案:</view>
-		              {{ bank.ques.text }}
-		              <view class="imgs"
-		                ><image
-		                  class="img"
-		                  :key="quesIndex"
-		                  v-for="(ques, quesIndex) in bank.ques.imageList"
-		                  :src="$method.splitImgHost(ques, true)"
-		                ></image
-		              ></view>
-		            </view>
-		          </view>
-		        </view>
-		
-		        <view
-		          v-if="bank.ques && (bank.ques.imageList.length || bank.ques.text)"
-		        >
-		          <view class="pad_8 answerInfos">
-		            <view class="answerTitle">答案解析:</view>
-		            <view class="answerContent"
-		              ><rich-text :nodes="bank.analysisContent"></rich-text
-		            ></view>
-		          </view>
-		        </view>
-		      </template>
-		
-		      <!-- 案例题 -->
-		      <template v-if="bank.type == 4">
-		        <view class="tabs">
-		          <view
-		            class="tab"
-		            :class="{ current: tabIndex == bank.current }"
-		            :key="tabIndex"
-		            v-for="(tab, tabIndex) in bank.jsonStr"
-		            @click="tabSelect(tabIndex, bankIndex)"
-		          >
-		            问题{{ tabIndex + 1 }}
-		          </view>
-		        </view>
-		
-		        <view
-		          v-for="(ansItem, ansIndex) in bank.jsonStr"
-		          v-if="bank.current == ansIndex"
-		          :key="ansIndex"
-		        >
-		          <template v-if="ansItem.type == 1">
-		            <view class="pad_8 titBox">
-		              <view class="leftLetters">
-		                <view class="btnType">
-		                  <text>单选</text>
-		                </view>
-		              </view>
-		              <view class="titles"
-		                ><rich-text :nodes="ansItem.content"></rich-text
-		              ></view>
-		              <view v-if="!bank.ques[ansIndex]">
-		                <view
-		                  v-for="(option, childIndex) in ansItem.optionsList"
-		                  :key="childIndex"
-		                  class="lisSty"
-		                  @click="
-		                    radioSelectChild(option.optionsId, ansIndex, bankIndex)
-		                  "
-		                >
-		                  <view class="activeTI">{{ ast[childIndex] }}</view>
-		                  <view class="flex_auto">
-		                    <rich-text
-		                      class="textChild"
-		                      :nodes="option.content"
-		                    ></rich-text>
-		                    <view v-if="option.imgUrl">
-		                      <image
-		                        style="width: 600rpx"
-		                        mode="widthFix"
-		                        :src="$method.splitImgHost(option.imgUrl)"
-		                      ></image>
-		                    </view>
-		                  </view>
-		                </view>
-		              </view>
-		              <view v-if="bank.ques[ansIndex]">
-		                <view
-		                  v-for="(option, childIndex) in ansItem.optionsList"
-		                  :key="childIndex"
-		                  class="lisSty"
-		                >
-		                  <text
-		                    :class="{
-		                      right:
-		                        option.optionsId == bank.ques[ansIndex] ||
-		                        option.optionsId == bank.ans[ansIndex],
-		                      wrong:
-		                        option.optionsId == bank.ques[ansIndex] &&
-		                        bank.ques[ansIndex] != bank.ans[ansIndex],
-		                    }"
-		                    class="activeTI"
-		                  >
-		                    {{ ast[childIndex] }}
-		                  </text>
-		                  <view class="flex_auto">
-		                    <rich-text :nodes="option.content"></rich-text>
-		                    <view v-if="option.imgUrl">
-		                      <image
-		                        style="width: 600rpx"
-		                        mode="widthFix"
-		                        :src="$method.splitImgHost(option.imgUrl)"
-		                      ></image>
-		                    </view>
-		                  </view>
-		                </view>
-		              </view>
-		            </view>
-		
-		            <view v-if="bank.ques[ansIndex]">
-		              <view class="pad_8 answer">
-		                <view>正确答案:{{ ast[bank.ans[ansIndex] - 1] }}</view>
-		                <view>我的答案:{{ ast[bank.ques[ansIndex] - 1] }}</view>
-		              </view>
-		              <view class="pad_8 answerInfos">
-		                <view class="answerTitle">答案解析</view>
-		                <view class="answerContent"
-		                  ><rich-text :nodes="option.analysisContent"></rich-text
-		                ></view>
-		              </view>
-		            </view>
-		          </template>
-		
-		          <template v-if="ansItem.type == 2">
-		            <view class="pad_8 titBox">
-		              <view class="leftLetters">
-		                <view class="btnType">
-		                  <text>多选</text>
-		                </view>
-		              </view>
-		              <view class="titles"
-		                ><rich-text :nodes="ansItem.content"></rich-text
-		              ></view>
-		              <view v-if="!bank.ques[ansIndex]">
-		                <view
-		                  v-for="(option, childindex) in ansItem.optionsList"
-		                  :key="childindex"
-		                  class="lisSty"
-		                  @click="
-		                    checkboxSelectChild(bankIndex, ansIndex, childindex)
-		                  "
-		                >
-		                  <view
-		                    :class="{ checked: option.checked }"
-		                    class="activeTI"
-		                    >{{ ast[childindex] }}</view
-		                  >
-		                  <view class="flex_auto">
-		                    <rich-text :nodes="option.content"></rich-text>
-		                    <view v-if="option.imgUrl">
-		                      <image
-		                        style="width: 600rpx"
-		                        mode="widthFix"
-		                        :src="$method.splitImgHost(option.imgUrl)"
-		                      ></image>
-		                    </view>
-		                  </view>
-		                </view>
-		              </view>
-		              <view
-		                v-if="!bank.ques[ansIndex]"
-		                class="submit_checkbox"
-		                :class="{
-		                  disabled: !isCheckboxChecked(ansItem.optionsList),
-		                }"
-		                @click="checkboxSubmitChild(bankIndex, ansIndex)"
-		                >确认答案</view
-		              >
-		              <view v-if="bank.ques && bank.ques[ansIndex]">
-		                <view
-		                  v-for="(option, childindex) in ansItem.optionsList"
-		                  :key="childindex"
-		                  class="lisSty"
-		                >
-		                  <text
-		                    :class="{
-		                      right: right(bankIndex, ansIndex, option),
-		                      wrong: wrong(bankIndex, ansIndex, option),
-		                    }"
-		                    class="activeTI"
-		                  >
-		                    {{ ast[childindex] }}
-		                  </text>
-		                  <view class="flex_auto">
-		                    <rich-text :nodes="option.content"></rich-text>
-		                    <view v-if="option.imgUrl">
-		                      <image
-		                        style="width: 600rpx"
-		                        mode="widthFix"
-		                        :src="$method.splitImgHost(option.imgUrl)"
-		                      ></image>
-		                    </view>
-		                  </view>
-		                </view>
-		              </view>
-		            </view>
-		            <view v-if="bank.ques[ansIndex]">
-		              <view class="pad_8 answer">
-		                <view>
-		                  正确答案:
-		                  <text
-		                    :key="ansItemIndex1"
-		                    v-for="(ansItem1, ansItemIndex1) in bank.ans[ansIndex]"
-		                    >{{ ast[ansItem1 - 1] }}</text
-		                  >
-		                </view>
-		                <view>
-		                  我的答案:
-		                  <text
-		                    :key="quesItemIndex"
-		                    v-for="(quesItem, quesItemIndex) in bank.ques[ansIndex]"
-		                    >{{ ast[quesItem - 1] }}</text
-		                  >
-		                </view>
-		              </view>
-		              <view class="pad_8 answerInfos">
-		                <view class="answerTitle">答案解析</view>
-		                <view class="answerContent"
-		                  ><rich-text :nodes="ansItem.analysisContent"></rich-text
-		                ></view>
-		              </view>
-		            </view>
-		          </template>
-		
-		          <template v-if="ansItem.type == 3">
-		            <view class="pad_8 titBox">
-		              <view class="leftLetters">
-		                <view class="btnType">
-		                  <text>判断</text>
-		                </view>
-		              </view>
-		              <view class="titles"
-		                ><rich-text :nodes="ansItem.content"></rich-text
-		              ></view>
-		              <view v-if="!bank.ques[ansIndex]">
-		                <view
-		                  v-for="(option, childindex) in judge"
-		                  :key="childindex"
-		                  class="lisSty"
-		                  @click="judgeSelectChild(ansIndex, childindex, bankIndex)"
-		                >
-		                  <view class="activeTI">{{ ast[childindex] }}</view>
-		                  <view class="flex_auto">
-		                    {{ option }}
-		                    <view v-if="option.imgUrl">
-		                      <image
-		                        style="width: 600rpx"
-		                        mode="widthFix"
-		                        :src="$method.splitImgHost(option.imgUrl)"
-		                      ></image>
-		                    </view>
-		                  </view>
-		                </view>
-		              </view>
-		              <view v-if="bank.ques[ansIndex]">
-		                <view
-		                  v-for="(option, childindex) in judge"
-		                  :key="childindex"
-		                  class="lisSty"
-		                >
-		                  <text
-		                    :class="{
-		                      right:
-		                        childindex == bank.ques[ansIndex] ||
-		                        childindex == bank.ans[ansIndex],
-		                      wrong:
-		                        childindex == bank.ques[ansIndex] &&
-		                        bank.ques[ansIndex] != bank.ans[ansIndex],
-		                    }"
-		                    class="activeTI"
-		                  >
-		                    {{ ast[childindex] }}
-		                  </text>
-		                  <view class="flex_auto">
-		                    {{ option }}
-		                    <view v-if="option.imgUrl">
-		                      <image
-		                        style="width: 600rpx"
-		                        mode="widthFix"
-		                        :src="$method.splitImgHost(option.imgUrl)"
-		                      ></image>
-		                    </view>
-		                  </view>
-		                </view>
-		              </view>
-		            </view>
-		            <view v-if="bank.ques[ansIndex]">
-		              <view class="pad_8 answer">
-		                <view>正确答案:{{ ast[bank.ans[ansIndex]] }}</view>
-		                <view>我的答案:{{ ast[bank.ques[ansIndex]] }}</view>
-		              </view>
-		              <view class="pad_8 answerInfos">
-		                <view class="answerTitle">答案解析</view>
-		                <view class="answerContent"
-		                  ><rich-text :nodes="ansItem.analysisContent"></rich-text
-		                ></view>
-		              </view>
-		            </view>
-		          </template>
-		
-		          <!-- 简答题 -->
-		          <template v-if="ansItem.type == 5">
-		            <view class="pad_8 titBox_title">
-		              <view class="leftLetters">
-		                <view class="btnType">
-		                  <text>简答</text>
-		                </view>
-		              </view>
-		              <view><rich-text :nodes="ansItem.content"></rich-text></view>
-		            </view>
-		            <view class="pad_8 titBox_title">
-		              <view class="ans">
-		                <view
-		                  class="ans_input"
-		                  v-if="
-		                    !bank.ques[ansIndex] ||
-		                    (!bank.ques[ansIndex].text &&
-		                      !bank.ques[ansIndex].imageList.length)
-		                  "
-		                >
-		                  <view class="top flex">
-		                    <image
-		                      class="icon"
-		                      @click="chooseImgChild(bankIndex, ansIndex)"
-		                      src="/static/camera.png"
-		                      mode=""
-		                    ></image>
-		                    <view class="progress"
-		                      >{{ ansItem.ansText.imageList.length || "0" }}/4</view
-		                    >
-		                    <view
-		                      class="submit"
-		                      :class="{
-		                        disabled: !ansItem.ansText.text && hasImgs(ansItem),
-		                      }"
-		                      @click="submitAnsChild(bankIndex, ansIndex)"
-		                      >确认答案</view
-		                    >
-		                  </view>
-		                  <view class="textarea">
-		                    <textarea
-		                      v-model="ansItem.ansText.text"
-		                      placeholder="在此输入答案"
-		                    ></textarea>
-		                  </view>
-		                  <view class="imgs">
-		                    <view
-		                      class="img"
-		                      v-for="(img, imgIndex) in ansItem.ansText.imageList"
-		                      :key="imgIndex"
-		                    >
-		                      <text
-		                        @click="
-		                          deleteImgChild(imgIndex, bankIndex, ansIndex)
-		                        "
-		                        >x</text
-		                      >
-		                      <image :src="$method.splitImgHost(img, true)"></image>
-		                    </view>
-		                  </view>
-		                </view>
-		                <view
-		                  class="ans_submit answerInfos"
-		                  v-if="
-		                    bank.ques[ansIndex] &&
-		                    (bank.ques[ansIndex].imageList.length ||
-		                      bank.ques[ansIndex].text)
-		                  "
-		                >
-		                  <view class="answerTitle">我的答案</view>
-		                  {{ bank.ques[ansIndex].text || "" }}
-		                  <view class="imgs">
-		                    <image
-		                      class="img"
-		                      v-for="(ques, quesIndex) in bank.ques[ansIndex]
-		                        .imageList"
-		                      :key="quesIndex"
-		                      :src="$method.splitImgHost(ques, true)"
-		                    ></image>
-		                  </view>
-		                </view>
-		              </view>
-		            </view>
-		            <view
-		              v-if="
-		                bank.ques[ansIndex].imageList.length ||
-		                bank.ques[ansIndex].text
-		              "
-		            >
-		              <view class="pad_8 answerInfos">
-		                <view class="answerTitle">答案解析</view>
-		                <view class="answerContent"
-		                  ><rich-text :nodes="ansItem.analysisContent"></rich-text
-		                ></view>
-		              </view>
-		            </view>
-		          </template>
-		        </view>
-		      </template>
-		
-		      <view class="footer_btn">
-		        <view
-							v-if="isCollect"
-		          class="collect"
-		          :class="{ show: goodsId && !isFromVideo ? true : false }"
-		          @click="collect(collectList[bankIndex], bankIndex)"
-		        >
-		          <view v-if="collectList[bankIndex]">
-		            <image src="/static/icon/collected.png" mode=""></image>
-		            <view>取消收藏</view>
-		          </view>
-		          <view v-if="!collectList[bankIndex]">
-		            <image src="/static/icon/collect.png" mode=""></image>
-		            <view>收藏</view>
-		          </view>
-		        </view>
-		        <view class="flex_center" @click="openFooterTab">
-		          <view class="up-icon">
-		            <image src="/static/up.png"></image>
-		          </view>
-		          答题卡
-		        </view>
-		        <view class="collect show" @click="pdsubmit">
-		          <view>
-		            <image src="/static/jj.png" mode=""></image>
-		            <view>交卷</view>
-		          </view>
-		        </view>
-		      </view>
-		    </view>
-		  </swiper-item>
-		</swiper>
-		
-		<u-popup v-model="show" mode="bottom" border-radius="14" height="680rpx">
-		  <view class="popupView">
-		    <view class="popupTops">
-		      <view class="topIcon"></view>
-		      点击编号即可跳转至对应题目
-		    </view>
-		    <view class="popupContent">
-		      <scroll-view scroll-y="true" style="height: 506rpx">
-		        <view class="boxSty">
-		          <view
-		            v-for="(item, index) in questionList"
-		            :key="index"
-		            @click="changeIndex(index)"
-		            :class="{
-		              isRight: isRight(item, index),
-		              isWrong: isWrong(item, index),
-		              isPart: isPart(item, index),
-		              isOver: isOver(item, index),
-		            }"
-		            class="liListSty"
-		          >
-		            {{ index + 1 }}
-		          </view>
-		        </view>
-		      </scroll-view>
-		    </view>
-		  </view>
-		</u-popup>
-	</view>
-</template>
-
-<script>
-import { mapGetters } from 'vuex';
-import eventHub from '@/common/eventHub.js'
-import {WEBVIEW_URL} from '@/common/request.js'
-export default {
-	name: 'bankExam',
-	props: {
-		examId:0,
-		current: 0,
-		list: {
-			type:Array,
-			default:[]
-		},
-		recordId: "",
-		goodsId:'',
-		bankType:0,
-		orderGoodsId:'',
-		isCollect:true,
-		lastTime: 0, //剩余考试时长
-		allTimes: 0, //总考试时长
-	},
-	watch:{
-		
-	},
-	data() {
-		return {
-			ast: ["A", "B", "C", "D", "E", "F", "G"],
-			judge: ["错误", "正确"],
-			ans: [],
-			ques: [],
-			wrongList: [],
-			timer: null,
-			collectList: [],
-			show: false,
-			currentIndex:0,
-			questionList:[],
-			examLastTime: 0, //剩余考试时长
-			examAllTimes: 0, //总考试时长
-		};
-	},
-	onLoad() {
-	},
-	created() {
-		
-	},
-	watch: {
-		list:function (newVal,oldVal) {
-			console.log(this)
-			this.questionList = newVal;
-		},
-		current:function (newVal) {
-			this.currentIndex = newVal;
-		}
-	},
-	mounted() {
-		if (this.examLastTime) {
-		  this.timer = setInterval(() => {
-		    if (this.examLastTime <= 0) {
-		      clearInterval(this.timer);
-		      uni.showToast({
-		        icon: "none",
-		        mask: true,
-		        title: "考试时间已到,系统将自动交卷",
-		        duration: 10000,
-		      });
-		
-		      this.submit();
-		      return;
-		    }
-		    this.examLastTime--;
-		  }, 1000);
-		}
-	},
-	methods: {
-		getExamData() {
-			let score = 0; //计算总分
-			let reportStatus = 0;
-			let number = 0; //做对的题目数量
-			let doQuestionNum = 0; //做过的题目数量
-			let allScore = 0; //总分
-			let passScore = 0;
-			let doWrongQuestionIds = []; //错题和未做题id(客观题)
-			let doQuestionIds = []; //做过的题目id
-			let lessQuestionNum = 0;
-			let rightQuestionIds = []; //做对的题目id
-			this.questionList.forEach((item, index) => {
-			  passScore = item.passScore;
-			  if (item.type == 1) {
-			    //正确
-			    if (item.ques == item.ans) {
-			      item.scoreResult = item.score;
-			      score += item.score;
-			      number++;
-			      rightQuestionIds.push(item.questionId);
-			    } else {
-			      //错误
-			      item.scoreResult = 0;
-						if (item.ques) {
-							doWrongQuestionIds.push(item.questionId);
-						}
-			    }
-			    allScore += item.score;
-			    if (item.ques) {
-			      doQuestionNum++;
-			      doQuestionIds.push(item.questionId);
-			    }
-			  } else if (item.type == 2) {
-			    let isRight =
-			      item.ans &&
-			      item.ans.every((quesItem, quesIndex) => {
-			        if (item.ques) {
-			          return item.ques[quesIndex] == item.ans[quesIndex];
-			        } else {
-			          return false;
-			        }
-			      });
-					
-			    if (isRight) {
-			      score += item.score;
-			      number++;
-			      item.scoreResult = item.score;
-			      rightQuestionIds.push(item.questionId);
-			    } else {
-			      let hasPart = false;
-			      let checkboxScore = 1; //获取单题总分数
-			      item.ques &&
-			        item.ques.forEach((ques, quesIndex) => {
-			          //选错一个全扣
-			          if (item.ques) {
-			            if (item.ans.indexOf(item.ques[quesIndex]) == -1) {
-			              checkboxScore = 0;
-			            }
-			          } else {
-			            checkboxScore = 0;
-			          }
-			        });
-					
-			      //没选错
-			      if (checkboxScore) {
-			        checkboxScore = 0;
-			        item.ans.forEach((ans, quesIndex) => {
-			          //漏选扣一部分,对n题给n X partScore 分
-			          if (item.ques) {
-			            if (item.ques.indexOf(item.ans[quesIndex]) != -1) {
-			              checkboxScore += item.partScore;
-			              hasPart = true;
-			            }
-			          } else {
-			            checkboxScore = 0;
-			          }
-			        });
-			      }
-					
-			      if (!hasPart) {
-			        //0分
-			        item.scoreResult = 0;
-							if (item.ques) {
-								doWrongQuestionIds.push(item.questionId);
-							}
-			      } else {
-			        //部分分
-			        // number++;
-							lessQuestionNum++
-			        // doWrongQuestionIds.push(item.questionId);
-			        item.scoreResult = checkboxScore;
-			        score += checkboxScore;
-			        // rightQuestionIds.push(item.questionId)
-			      }
-			    }
-			    allScore += item.score;
-			    if (item.ques && item.ques.length) {
-			      doQuestionNum++;
-			      doQuestionIds.push(item.questionId);
-			    }
-			  } else if (item.type == 3) {
-			    if (item.ques == item.ans) {
-			      item.scoreResult = item.score;
-			      score += item.score;
-			      number++;
-			      rightQuestionIds.push(item.questionId);
-			    } else {
-			      item.scoreResult = 0;
-						if (item.ques) {
-							doWrongQuestionIds.push(item.questionId);
-						}
-			    }
-			    allScore += item.score;
-			    if (item.ques) {
-			      doQuestionNum++;
-			      doQuestionIds.push(item.questionId);
-			    }
-			  } else if (item.type == 4) {
-			    allScore += item.score;
-			    if (item.ques && item.ques.length) {
-			      doQuestionNum++;
-			      doQuestionIds.push(item.questionId);
-			    }
-			  } else if (item.type == 5) {
-			    allScore += item.score;
-			    if (item.ques && (item.ques.imageList.length || item.ques.text)) {
-			      doQuestionNum++;
-			      doQuestionIds.push(item.questionId);
-			    }
-			  }
-			});
-					
-			//大于及格
-			if (score >= passScore) {
-			  reportStatus = 1;
-			} else {
-			  reportStatus = 0;
-			}
-			let data = {
-		      examId: this.examId,
-		      goodsId: this.goodsId,
-		      reportStatus: reportStatus,
-		      recordId: this.recordId,
-		      rightQuestionNum: number,
-		      orderGoodsId: this.orderGoodsId,
-					lessQuestionNum:lessQuestionNum,
-		      doQuestionIds: doQuestionIds.join(","),
-		      rightQuestionIds: rightQuestionIds.join(","),
-		      doQuestionNum: doQuestionNum,
-		      performance: score,
-		      totalScore: allScore,
-		      examTime: parseInt(this.allTimes),
-		      doTime: parseInt(this.allTimes) - parseInt(this.lastTime),
-		      historyExamJson: JSON.stringify(this.questionList),
-					doWrongQuestionIds:doWrongQuestionIds,
-		    }
-				
-				return data;
-		},
-		/**
-		 * 交卷
-		 */
-		submit() {
-			this.$emit('submit',this.getExamData())
-		},
-		pdsubmit() {
-		  // if (this.bankType == 1) {
-		  let ansCount = this.questionOverNum(true); //已答题数
-		  this.lastCount = this.questionList.length - ansCount; //统计未答完的题数
-		  //没有答完
-		  if (this.lastCount !== 0) {
-		    // this.cgType = 6;
-		    // this.showpopups = true;
-				this.$emit('showpopups',6)
-		    return;
-		  }
-		  // }
-		
-		  if (this.bankType == 2) {
-		    if (this.lastTime > 0) {
-		      let lastTime = this.countdown(this.lastTime);
-		      uni.showModal({
-		        title: "提示",
-		        content: `时间还剩余${lastTime},确定交卷吗?`,
-		        confirmText: "交卷",
-		        cancelText: "继续答题",
-		        success: (res) => {
-		          if (res.confirm) {
-		            //确定
-		            this.submit();
-		          } else {
-		            //取消
-		          }
-		        },
-		      });
-		      return;
-		    }
-		  }
-		  this.submit();
-		},
-		/**
-		 * 是否有上传图片
-		 */
-		hasImgs(bank) {
-		  return bank.ansText.imageList.length == 0;
-		},
-		/**
-		 * 是否做完所有题目
-		 */
-		isDoOver() {
-		  let questionOverNum = this.questionOverNum(true); //获取已经回答的题目数(包括简答和案例)
-		  if (this.questionList.length == questionOverNum) {
-		    this.$emit('isDoOver')
-		  }
-		},
-		/**
-		 * 获取已经回答的题目数
-		 * hasSpecail (是否包含简答和案例)
-		 */
-		questionOverNum(hasSpecail) {
-		  let count = 0;
-		  this.questionList.forEach((item) => {
-		    if (item.type == 1 || item.type == 2 || item.type == 3) {
-		      if (item.ques) {
-		        count++;
-		      }
-		    } else if (item.type == 4) {
-		      //案例题
-		      if (hasSpecail) {
-		        let isOver = item.jsonStr.every((jsonItem, indexs) => {
-		          if (
-		            jsonItem.type == 1 ||
-		            jsonItem.type == 2 ||
-		            jsonItem.type == 3
-		          ) {
-		            if (item.ques[indexs]) {
-		              return true;
-		            } else {
-		              return false;
-		            }
-		          } else if (jsonItem.type == 5) {
-		            if (
-		              item.ques[indexs] &&
-		              (item.ques[indexs].text || item.ques[indexs].imageList.length)
-		            ) {
-		              console.log("chil");
-		              return true;
-		            } else {
-		              return false;
-		            }
-		          }
-		        });
-		
-		        if (isOver) {
-		          count++;
-		          console.log(item, 444);
-		        }
-		      }
-		    } else if (item.type == 5) {
-		      //简答题
-		      if (hasSpecail) {
-		        if (item.ques && (item.ques.text || item.ques.imageList.length)) {
-		          console.log(5, item);
-		          count++;
-		        }
-		      }
-		    }
-		  });
-		
-		  return count;
-		},
-		/**
-		 * @param {Object} second倒计时过滤器
-		 */
-		countdown(second) {
-		  if (second) {
-		    let h = parseInt((second / 60 / 60) % 24); //   计算小时
-		    let m = parseInt((second / 60) % 60); //   计算分数
-		    let s = parseInt(second % 60); //   计算当前秒数
-		
-		    if (h < 10) h = "0" + h;
-		    if (m < 10) m = "0" + m;
-		    if (s < 10) s = "0" + s;
-		
-		    return h + ":" + m + ":" + s;
-		  } else {
-		    return "";
-		  }
-		},
-		/**
-		 * @param {Object} e单选点击
-		 */
-		radioSelect(optionsId, bindex) {
-		  if (this.questionList[bindex].ques) return;
-		  this.$set(this.questionList[bindex], "ques", optionsId);
-		  this.isDoOver();
-		
-		  // 回答错误
-		  if (this.questionList[bindex].ques != this.questionList[bindex].ans) {
-		    this.$api
-		      .examWrongRecord({
-		        orderGoodsId: this.orderGoodsId,
-		        examId: this.examId,
-		        goodsId: this.goodsId,
-		        moduleExamId: this.moduleId || 0,
-		        chapterExamId: this.chapterId || 0,
-		        questionIds: [this.questionList[bindex].questionId],
-		        recordId: this.recordId,
-		      })
-		      .then((res) => {});
-		  } else {
-		    // let question = this.wrongList.find(item => item.questionId == this.questionList[bindex].questionId);
-		    // if(question) {
-		    // 	this.$api.wrongRecordDelete({
-		    // 		"examId": +this.id,
-		    // 		"goodsId": +this.goodsId,
-		    // 		"questionId": this.questionList[bindex].questionId,
-		    // 	}).then(res => {
-		    // 	})
-		    // }
-		  }
-		},
-		
-		/**
-		 * @param {Object} e案例单选点击
-		 */
-		radioSelectChild(optionsId, ansIndex, bindex) {
-		  if (this.questionList[bindex].ques[ansIndex]) return;
-		  this.$set(this.questionList[bindex].ques, ansIndex, optionsId);
-		  this.isDoOver();
-		},
-		
-		/**
-		 * @param {Object} 多选点击
-		 */
-		checkboxSelect(optionsId, bindex, index) {
-		  this.$set(
-		    this.questionList[bindex].jsonStr[index],
-		    "checked",
-		    !this.questionList[bindex].jsonStr[index].checked
-		  );
-		},
-		
-		/**
-		 * @param {Object} 案例多选点击
-		 */
-		checkboxSelectChild(bindex, ansIndex, childIndex) {
-		  this.$set(
-		    this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex],
-		    "checked",
-		    !this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex]
-		      .checked
-		  );
-		},
-		
-		isCheckboxChecked(arr) {
-		  return arr.some((item) => {
-		    if (item.checked) {
-		      return true;
-		    }
-		  });
-		},
-		
-		/**
-		 * @param {Object} 多选确认
-		 */
-		checkboxSubmit(bindex) {
-		  if (this.questionList[bindex].ques) return;
-		  let arr = [];
-		  this.questionList[bindex].jsonStr.forEach((item) => {
-		    if (item.checked) {
-		      arr.push(item.optionsId);
-		    }
-		  });
-		
-		  if (!arr.length) {
-		    uni.showToast({
-		      title: "请选择答案",
-		      icon: "none",
-		    });
-		    return;
-		  }
-		
-		  this.$set(this.questionList[bindex], "ques", arr);
-		  this.isDoOver();
-		
-		  let isWrong = this.questionList[bindex].ques.some(
-		    (quesItem, quesIndex) => {
-		      return (
-		        this.questionList[bindex].ques[quesIndex] !=
-		        this.questionList[bindex].ans[quesIndex]
-		      );
-		    }
-		  );
-		  // 回答错误
-		  if (isWrong) {
-		    this.$api
-		      .examWrongRecord({
-		        orderGoodsId: this.orderGoodsId,
-		        examId: this.examId,
-		        goodsId: this.goodsId,
-		        moduleExamId: this.moduleId || 0,
-		        chapterExamId: this.chapterId || 0,
-		        questionIds: [this.questionList[bindex].questionId],
-		        recordId: this.recordId,
-		      })
-		      .then((res) => {});
-		  } else {
-		    // let question = this.wrongList.find(item => item.questionId == this.questionList[bindex].questionId);
-		    // if(question) {
-		    // 	this.$api.wrongRecordDelete({
-		    // 		"examId": +this.id,
-		    // 		"goodsId": +this.goodsId,
-		    // 		"questionId": this.questionList[bindex].questionId,
-		    // 	}).then(res => {
-		    // 	})
-		    // }
-		  }
-		},
-		
-		/**
-		 * @param {Object} 案例多选确认
-		 */
-		checkboxSubmitChild(bindex, ansIndex) {
-		  if (this.questionList[bindex].ques[ansIndex]) return;
-		  let arr = [];
-		  this.questionList[bindex].jsonStr[ansIndex].optionsList.forEach(
-		    (item) => {
-		      if (item.checked) {
-		        arr.push(item.optionsId);
-		      }
-		    }
-		  );
-		
-		  if (!arr.length) {
-		    uni.showToast({
-		      title: "请选择答案",
-		      icon: "none",
-		    });
-		    return;
-		  }
-		
-		  this.$set(this.questionList[bindex].ques, ansIndex, arr);
-		  this.isDoOver();
-		},
-		
-		/**
-		 * @param {Object} index
-		 * @param {Object} bindex
-		 * 判断题
-		 */
-		judgeSelect(index, bindex) {
-		  if (this.questionList[bindex].ques) return;
-		  this.$set(this.questionList[bindex], "ques", index + "");
-		  this.isDoOver();
-		  // 回答错误
-		  if (this.questionList[bindex].ques != this.questionList[bindex].ans) {
-		    this.$api
-		      .examWrongRecord({
-		        orderGoodsId: this.orderGoodsId,
-		        examId: this.examId,
-		        goodsId: this.goodsId,
-		        moduleExamId: this.moduleId || 0,
-		        chapterExamId: this.chapterId || 0,
-		        questionIds: [this.questionList[bindex].questionId],
-		        recordId: this.recordId,
-		      })
-		      .then((res) => {});
-		  } else {
-		    // let question = this.wrongList.find(item => item.questionId == this.questionList[bindex].questionId);
-		    // if(question) {
-		    // 	this.$api.wrongRecordDelete({
-		    // 		"examId": +this.id,
-		    // 		"goodsId": +this.goodsId,
-		    // 		"questionId": this.questionList[bindex].questionId,
-		    // 	}).then(res => {
-		    // 	})
-		    // }
-		  }
-		},
-		
-		/**
-		 * @param {Object} ansindex
-		 * @param {Object} childindex
-		 * @param {Object} bindex
-		 * 案例判断题
-		 */
-		judgeSelectChild(ansindex, childindex, bindex) {
-		  if (this.questionList[bindex].ques[ansindex]) return;
-		  this.$set(this.questionList[bindex].ques, ansindex, childindex + "");
-		  this.isDoOver();
-		},
-		
-		openFooterTab() {
-		  this.show = true;
-		},
-		changeIndex(index) {
-		  this.currentIndex = index;
-		},
-		swiperChange(e) {
-		  this.currentIndex = e.detail.current;
-		  this.getCollectInfo(this.currentIndex);
-		},
-		/**
-		 * @param {Object} current
-		 * 获取收藏信息
-		 */
-		getCollectInfo(current) {
-		  this.$api
-		    .getCollectInfo({
-		      examId: this.examId,
-		      questionId: this.questionList[current].questionId,
-		      goodsId: this.goodsId,
-		      orderGoodsId: this.orderGoodsId,
-		    })
-		    .then((res) => {
-		      if (res.data.code == 500) {
-		        this.$set(this.collectList, current, false);
-		      } else if (res.data.code == 200) {
-		        this.$set(this.collectList, current, res.data.data);
-		      }
-		    });
-		},
-		
-		/**
-		 * @param {Object} state
-		 * @param {Object} index
-		 * 收藏
-		 */
-		collect(state, index) {
-		  if (!state) {
-		    this.$api
-		      .collectQuestion({
-		        examId: this.examId,
-		        questionId: this.questionList[index].questionId,
-		        goodsId: this.goodsId || "",
-		        orderGoodsId: this.orderGoodsId,
-		      })
-		      .then((res) => {
-		        if (res.data.code == 200) {
-		          this.$set(this.collectList, index, true);
-		          uni.showToast({
-		            title: "收藏成功",
-		            duration: 2000,
-		            icon: "none",
-		          });
-		          this.getCollectInfo(index);
-		        }
-		      });
-		  } else {
-		    this.$api
-		      .deleteCollectQuestion(this.collectList[index].collectQuestionId)
-		      .then((res) => {
-		        if (res.data.code == 200) {
-		          this.$set(this.collectList, index, false);
-		          uni.showToast({
-		            title: "取消收藏成功",
-		            duration: 2000,
-		            icon: "none",
-		          });
-		        }
-		      });
-		  }
-		  return;
-		},
-		
-		/**
-		 * @param {Object} imgIndex
-		 * @param {Object} bankIndex
-		 * 删除简答图片
-		 */
-		deleteImg(imgIndex, bankIndex) {
-		  this.questionList[bankIndex].ansText.imageList.splice(imgIndex, 1);
-		},
-		
-		/**
-		 * @param {Object} imgIndex
-		 * @param {Object} bankIndex
-		 * @param {Object} ansIndex
-		 * 删除案例题简答图片
-		 */
-		deleteImgChild(imgIndex, bankIndex, ansIndex) {
-		  this.questionList[bankIndex].jsonStr[ansIndex].ansText.imageList.splice(
-		    imgIndex,
-		    1
-		  );
-		},
-		
-		/**
-		 * @param {Object} bankindex
-		 * 选择上传图片
-		 */
-		chooseImg(bankindex) {
-		  if (
-		    this.questionList[bankindex] &&
-		    this.questionList[bankindex].ansText &&
-		    this.questionList[bankindex].ansText.imageList.length >= 4
-		  ) {
-		    uni.showToast({
-		      icon: "none",
-		      title: "最多选择4张",
-		    });
-		    return;
-		  }
-		  uni.chooseImage({
-		    count: 1, //默认9
-		    sizeType: ["compressed"], //可以指定是原图还是压缩图,默认二者都有
-		    sourceType: ["album", "camera"], //从相册选择
-		    success: (res) => {
-		      let self = this;
-		      // console.log(JSON.stringify(res.tempFilePaths));
-		      let img = res.tempFilePaths[0];
-		      uni.getImageInfo({
-		        src: img,
-		        success: async (res) => {
-		          let canvasWidth = res.width; //图片原始长宽
-		          let canvasHeight = res.height;
-		          if (canvasWidth > 1000 || canvasHeight > 1000) {
-		            uni.compressImage({
-		              src: img,
-		              quality: 75,
-		              width: "50%",
-		              height: "50%",
-		              success: async (rest) => {
-		                const dir = await self.uploadFile(rest.tempFilePath, 0);
-		                this.questionList[bankindex].ansText.imageList.push(dir);
-		              },
-		            });
-		          } else {
-		            const dir = await self.uploadFile(img, 0);
-		            this.questionList[bankindex].ansText.imageList.push(dir);
-		          }
-		        },
-		      });
-		    },
-		  });
-		},
-		
-		/**
-		 * @param {Object} bankindex
-		 * @param {Object} ansindex
-		 * 案例题选择上传图片
-		 */
-		chooseImgChild(bankindex, ansindex) {
-		  if (
-		    this.questionList[bankindex].jsonStr[ansindex] &&
-		    this.questionList[bankindex].jsonStr[ansindex].ansText &&
-		    this.questionList[bankindex].jsonStr[ansindex].ansText.imageList
-		      .length >= 4
-		  ) {
-		    uni.showToast({
-		      icon: "none",
-		      title: "最多选择4张",
-		    });
-		    return;
-		  }
-		  uni.chooseImage({
-		    count: 1, //默认9
-		    sizeType: ["compressed"], //可以指定是原图还是压缩图,默认二者都有
-		    sourceType: ["album", "camera"], //从相册选择
-		    success: (res) => {
-		      let self = this;
-		      // console.log(JSON.stringify(res.tempFilePaths));
-		      let img = res.tempFilePaths[0];
-		      uni.getImageInfo({
-		        src: img,
-		        success: async (res) => {
-		          let canvasWidth = res.width; //图片原始长宽
-		          let canvasHeight = res.height;
-		          if (canvasWidth > 1000 || canvasHeight > 1000) {
-		            uni.compressImage({
-		              src: img,
-		              quality: 75,
-		              width: "50%",
-		              height: "50%",
-		              success: async (rest) => {
-		                const dir = await self.uploadFile(rest.tempFilePath, 0);
-		                this.questionList[bankindex].jsonStr[
-		                  ansindex
-		                ].ansText.imageList.push(dir);
-		              },
-		            });
-		          } else {
-		            const dir = await self.uploadFile(img, 0);
-		            this.questionList[bankindex].jsonStr[
-		              ansindex
-		            ].ansText.imageList.push(dir);
-		          }
-		        },
-		      });
-		    },
-		  });
-		},
-		
-		uploadFile(options, int) {
-		  var self = this;
-		  return new Promise((resolve, reject) => {
-		    var data = {
-		      orderGoodsId: this.orderGoodsId,
-		      imageStatus: int,
-		    };
-		    self.$api.aliyunpolicy(data).then((res) => {
-		      console.log(res.data, 6);
-		      if (res.data.code != 200) {
-		        self.$method.showToast("签名错误" + JSON.stringify(res.data));
-		        return;
-		      }
-		      var ossToken = res.data.data.resultContent;
-		      if (ossToken.host == null || ossToken.host == undefined) {
-		        self.$method.showToast("上传路径报错" + JSON.stringify(res.data));
-		        return;
-		      }
-		      uni.uploadFile({
-		        url: ossToken.host,
-		        name: "file",
-		        filePath: options,
-		        fileType: "image",
-		        header: {
-		          AuthorizationToken: "WX " + uni.getStorageSync("token"),
-		        },
-		        formData: {
-		          key: ossToken.dir,
-		          OSSAccessKeyId: ossToken.accessid,
-		          policy: ossToken.policy,
-		          Signature: ossToken.signature,
-		          callback: ossToken.callback,
-		          success_action_status: 200,
-		        },
-		        success: (result) => {
-		        //   if (result.statusCode === 200) {
-		            resolve(ossToken.dir);
-		        //   } else {
-		        //     uni.showToast({
-		        //       title: "上传失败",
-		        //       icon: "none",
-		        //     });
-		        //     return;
-		        //   }
-		        },
-		        fail: (error) => {
-		          uni.showToast({
-		            title: "上传接口报错" + error,
-		            icon: "none",
-		          });
-		          return;
-		        },
-		      });
-		    });
-		  });
-		},
-		/**
-		 * @param {Object} type
-		 * @param {Object} bankindex
-		 * 简答题答案确认
-		 */
-		submitAns(bankindex) {
-		  console.log(this.questionList[bankindex]);
-		  if (
-		    !this.questionList[bankindex].ansText.text &&
-		    !this.questionList[bankindex].ansText.imageList.length
-		  ) {
-		    uni.showToast({
-		      title: "请输入内容或上传图片",
-		      duration: 2000,
-		      icon: "none",
-		    });
-		    return;
-		  }
-		
-		  this.$set(this.questionList[bankindex], "ques", {
-		    imageList: this.questionList[bankindex].ansText.imageList || [],
-		    text: this.questionList[bankindex].ansText.text || "",
-		  });
-		  this.isDoOver();
-		},
-		
-		/**
-		 * @param {Object} bankindex
-		 * @param {Object} ansindex
-		 * 案例题简答答案确认
-		 */
-		submitAnsChild(bankindex, ansindex) {
-		  if (
-		    !this.questionList[bankindex].jsonStr[ansindex].ansText.text &&
-		    !this.questionList[bankindex].jsonStr[ansindex].ansText.imageList.length
-		  ) {
-		    uni.showToast({
-		      title: "请输入内容或上传图片",
-		      duration: 2000,
-		      icon: "none",
-		    });
-		    return;
-		  }
-		
-		  this.$set(this.questionList[bankindex].ques, ansindex, {
-		    imageList:
-		      this.questionList[bankindex].jsonStr[ansindex].ansText.imageList ||
-		      [],
-		    text: this.questionList[bankindex].jsonStr[ansindex].ansText.text || "",
-		  });
-		  this.isDoOver();
-		},
-		
-		isRight(item, index) {
-		  //单选
-		  if (this.questionList[index].ques) {
-		    if (item.type == 1) {
-		      return this.questionList[index].ques == this.questionList[index].ans;
-		      //多选
-		    } else if (item.type == 2) {
-		      //每一项都相等
-		      return this.questionList[index].ans.every((item, i) => {
-		        return item == this.questionList[index].ques[i];
-		      });
-		      //判断
-		    } else if (item.type == 3) {
-		      return this.questionList[index].ques == this.questionList[index].ans;
-		      // } else if (item.type == 5) {
-		      // 	if(this.questionList[index].ques.text){
-		      // 		return true
-		      // 	}else{
-		      // 		return false
-		      // 	}
-		    } else {
-		      return false;
-		    }
-		  } else {
-		    return false;
-		  }
-		},
-		
-		right(bankIndex, ansIndex, option) {
-		  if (
-		    this.questionList[bankIndex].ques[ansIndex] &&
-		    this.questionList[bankIndex].ans[ansIndex]
-		  ) {
-		    if (
-		      this.questionList[bankIndex].ques[ansIndex].indexOf(
-		        option.optionsId
-		      ) != -1 ||
-		      this.questionList[bankIndex].ans[ansIndex].indexOf(
-		        option.optionsId
-		      ) != -1
-		    ) {
-		      return true;
-		    } else {
-		      return false;
-		    }
-		  } else {
-		    return false;
-		  }
-		},
-		
-		wrong(bankIndex, ansIndex, option) {
-		  if (
-		    this.questionList[bankIndex].ques[ansIndex] &&
-		    this.questionList[bankIndex].ans[ansIndex]
-		  ) {
-		    if (
-		      this.questionList[bankIndex].ques[ansIndex].indexOf(
-		        option.optionsId
-		      ) != -1 &&
-		      this.questionList[bankIndex].ans[ansIndex].indexOf(
-		        option.optionsId
-		      ) == -1
-		    ) {
-		      return true;
-		    } else {
-		      return false;
-		    }
-		  } else {
-		    return false;
-		  }
-		},
-		
-		isWrong(item, index) {
-		  if (this.questionList[index].ques) {
-		    //单选
-		    if (item.type == 1) {
-		      return this.questionList[index].ques != this.questionList[index].ans;
-		      //多选
-		    } else if (item.type == 2) {
-		      //每一项都相等
-		      return this.questionList[index].ques.some((item, i) => {
-		        return this.questionList[index].ans.indexOf(item) == -1;
-		      });
-		      //判断
-		    } else if (item.type == 3) {
-		      return this.questionList[index].ques != this.questionList[index].ans;
-		    } else {
-		      return false;
-		    }
-		  } else {
-		    return false;
-		  }
-		},
-		isPart(item, index) {
-		  if (this.questionList[index].ques) {
-		    if (item.type == 2) {
-		      let isWrong = this.questionList[index].ques.some((item, i) => {
-		        return this.questionList[index].ans.indexOf(item) == -1;
-		      });
-		
-		      let isRight = this.questionList[index].ans.every((item, i) => {
-		        return item == this.questionList[index].ques[i];
-		      });
-		
-		      if (!isRight && !isWrong) {
-		        return true;
-		      }
-		    }
-		  } else {
-		    return false;
-		  }
-		},
-		isOver(item, index) {
-		  if (this.questionList[index].ques) {
-		    if (item.type == 4) {
-		      //案例题
-		      let isOver = item.jsonStr.every((jsonItem, indexs) => {
-		        if (
-		          jsonItem.type == 1 ||
-		          jsonItem.type == 2 ||
-		          jsonItem.type == 3
-		        ) {
-		          if (item.ques[indexs]) {
-		            return true;
-		          } else {
-		            return false;
-		          }
-		        } else if (jsonItem.type == 5) {
-		          if (
-		            item.ques[indexs] &&
-		            (item.ques[indexs].text || item.ques[indexs].imageList.length)
-		          ) {
-		            console.log("chil");
-		            return true;
-		          } else {
-		            return false;
-		          }
-		        }
-		      });
-		
-		      if (isOver) {
-		        return true;
-		      } else {
-		        return false;
-		      }
-		    } else if (item.type == 5) {
-		      //简答题
-		      //每一项都相等
-		      if (item.ques && (item.ques.imageList.length || item.ques.text)) {
-		        return true;
-		      }
-		      //判断
-		    } else {
-		      return false;
-		    }
-		  } else {
-		    return false;
-		  }
-		},
-		
-		tabSelect(index, bankindex) {
-		  this.$set(this.questionList[bankindex], "current", index);
-		},
-		
-		showPhoto(contentStr) {
-		  if (contentStr && typeof contentStr == "string") {
-		    let reg = /<img[^>]*src[=\'\"\s]+([^\'\"]*)[\'\"]?[^>]*>/gi;
-		    let strArr = contentStr.match(reg);
-		    strArr.forEach((str, index) => {
-		      strArr[index] = str.replace(reg, "$1");
-		    });
-		
-		    // 预览图片
-		    uni.previewImage({
-		      urls: strArr,
-		      longPressActions: {
-		        itemList: ["发送给朋友", "保存图片", "收藏"],
-		        success: function (data) {
-		          console.log(
-		            "选中了第" +
-		              (data.tapIndex + 1) +
-		              "个按钮,第" +
-		              (data.index + 1) +
-		              "张图片"
-		          );
-		        },
-		        fail: function (err) {
-		          console.log(err.errMsg);
-		        },
-		      },
-		    });
-		  }
-		},
-	},
-	computed: { ...mapGetters(['playSectionId','playChannelId','playVID','playNextId','userInfo','liveLast']) }
-	
-};
-</script>
-
-<style scoped lang="scss">
-	.lisSty {
-	  margin-bottom: 16rpx;
-	  display: flex;
-	  align-items: center;
-	
-	  .flex_auto {
-	    flex: 1;
-	  }
-	}
-	
-	.swiper,.bankExam {
-		height:100%;
-	}
-	.activeTI {
-	  vertical-align: middle;
-	  display: inline-block;
-	  border: 1rpx solid #eee;
-	  border-radius: 50rpx;
-	  height: 48rpx;
-	  line-height: 46rpx;
-	  text-align: center;
-	  width: 48rpx;
-	  margin-right: 15rpx;
-	  color: #666;
-	  font-size: 30rpx;
-	
-	  &.right {
-	    color: #fff;
-	    background: #36c75a;
-	  }
-	
-	  &.wrong {
-	    color: #fff;
-	    background: #ff3b30;
-	  }
-	
-	  &.checked {
-	    color: #fff;
-	    background: #007aff;
-	  }
-	}
-	
-	.submit_checkbox {
-	  position: fixed;
-	  left: 0;
-	  right: 0;
-	  bottom: 120rpx;
-	  margin: 20rpx auto;
-	  width: 526rpx;
-	  height: 80rpx;
-	  background: rgba(0, 122, 255, 1);
-	  color: #fff;
-	  text-align: center;
-	  line-height: 80rpx;
-	  font-size: 30rpx;
-	  border-radius: 40rpx;
-	
-	  &.disabled {
-	    opacity: 0.6;
-	  }
-	}
-	.titles {
-	  overflow: hidden;
-	  margin-bottom: 24rpx;
-	}
-	.titBox {
-	  padding: 41rpx 25rpx 24rpx 25rpx;
-	}
-	
-	.titBox_title {
-	  padding: 21rpx;
-	}
-	
-	.tabs {
-	  margin: 10rpx;
-	  display: flex;
-	  .tab {
-	    margin: 0 4rpx;
-	    padding: 10rpx 13rpx;
-	    text-align: center;
-	    color: #007aff;
-	    font-size: 28rpx;
-	    border-radius: 16rpx;
-	    background: #fff;
-	
-	    &.current {
-	      color: #fff;
-	      background: #007aff;
-	    }
-	  }
-	}
-	
-	.ans {
-	  margin: 8rpx 8rpx 8rpx;
-	
-	  .ans_input {
-	    border-radius: 16rpx;
-	    background: #fff;
-	    .top {
-	      border-bottom: 1rpx solid #eeeeee;
-	      padding: 16rpx;
-	      display: flex;
-	      align-items: center;
-	
-	      .icon {
-	        margin-right: 20rpx;
-	        width: 40rpx;
-	        height: 38rpx;
-	      }
-	
-	      .progress {
-	        flex: 1;
-	      }
-	
-	      .submit {
-	        width: 168rpx;
-	        height: 48rpx;
-	        line-height: 48rpx;
-	        text-align: center;
-	        color: #fff;
-	        font-size: 30rpx;
-	        background: #007aff;
-	        border-radius: 24rpx;
-	
-	        &.disabled {
-	          opacity: 0.6;
-	        }
-	      }
-	    }
-	
-	    .textarea {
-	      textarea {
-	        width: 100%;
-	        height: 287rpx;
-	        padding: 10rpx;
-	      }
-	    }
-	
-	    .imgs {
-	      overflow: hidden;
-	      display: flex;
-	      width: 100%;
-	      .img {
-	        width: 104rpx;
-	        height: 104rpx;
-	        border-radius: 8rpx;
-	        position: relative;
-	        margin: 20rpx;
-	
-	        text {
-	          position: absolute;
-	          right: -15rpx;
-	          top: -15rpx;
-	          width: 30rpx;
-	          height: 30rpx;
-	          text-align: center;
-	          line-height: 30rpx;
-	          color: #fff;
-	          background: #ff3b30;
-	          border-radius: 50%;
-	        }
-	
-	        image {
-	          width: 100%;
-	          height: 100%;
-	        }
-	      }
-	    }
-	  }
-	
-	  .ans_submit {
-	    padding: 16rpx;
-	    border-radius: 16rpx;
-	    background: #fff;
-	
-	    .imgs {
-	      overflow: hidden;
-	      display: flex;
-	      width: 100%;
-	      .img {
-	        width: 104rpx;
-	        height: 104rpx;
-	        border-radius: 8rpx;
-	        position: relative;
-	        margin: 20rpx;
-	
-	        image {
-	          width: 100%;
-	          height: 100%;
-	        }
-	      }
-	    }
-	  }
-	}
-	.leftLetters {
-	  display: flex;
-	  align-items: center;
-	  width: 220rpx;
-	  .btnType {
-	    padding: 5rpx 10rpx;
-	    border: 1rpx solid #007aff;
-	    border-radius: 10rpx;
-	    background-color: rgba(0, 122, 255, 0.1);
-	    font-size: 28rpx;
-	    color: #007aff;
-	    margin-right: 15rpx;
-	  }
-	}
-	.firstLetter {
-	  display: flex;
-	  justify-content: space-between;
-	  align-items: center;
-	  margin-bottom: 30rpx;
-	}
-	.popupView {
-	  height: 100%;
-	  padding-bottom: 100rpx;
-	  .popupTops {
-	    height: 77rpx;
-	    border-bottom: 1rpx solid #eee;
-	    text-align: center;
-	    line-height: 77rpx;
-	    font-size: 24rpx;
-	    color: #999;
-	    position: relative;
-	    .topIcon {
-	      position: absolute;
-	      top: 10rpx;
-	      left: 50%;
-	      transform: translateX(-50%);
-	      width: 80rpx;
-	      height: 8rpx;
-	      background-color: #999;
-	      border-radius: 4rpx;
-	    }
-	  }
-	  .popupContent {
-	  }
-	}
-	.pageContent {
-	  position: relative;
-	  background-color: #eaeef1;
-	  height: 100%;
-	  padding-top: 8rpx;
-	  padding-bottom: 100rpx;
-	  overflow-y: scroll;
-	}
-	.pad_8 {
-	  background-color: #fff;
-	  margin: 0rpx 8rpx 8rpx;
-	  border-radius: 16rpx;
-	
-	  &.no-margin {
-	    margin-top: -16rpx;
-	    border-radius: 0 0 16rpx 16rpx;
-	  }
-	}
-	.answer {
-	  height: 80rpx;
-	  line-height: 80rpx;
-	  padding: 0rpx 24rpx;
-	  display: flex;
-	  align-items: center;
-	  justify-content: space-between;
-	  color: #666;
-	  font-size: 30rpx;
-	}
-	.footer_btn {
-	  background-color: #fff;
-	  z-index: 10078;
-	  position: fixed;
-	  bottom: 0rpx;
-	  display: flex;
-	  align-items: center;
-	  justify-content: space-between;
-	  width: 100%;
-	  height: 98rpx;
-	  padding: 0rpx 38rpx;
-	  border-top: 1rpx solid #eee;
-	
-	  .flex_center {
-	    flex: 1;
-	    display: flex;
-	    justify-content: center;
-	    align-items: center;
-	    flex-direction: column;
-	    margin: 0 200rpx;
-	    font-size: 24rpx;
-	    color: #999999;
-	
-	    .up-icon {
-	      margin-bottom: 18rpx;
-	      width: 100%;
-	      display: flex;
-	      justify-content: center;
-	      image {
-	        width: 58rpx;
-	        height: 21rpx;
-	      }
-	    }
-	  }
-	  .collect {
-	    visibility: hidden;
-	    width: 100rpx;
-	
-	    &.show {
-	      visibility: visible;
-	    }
-	
-	    > view {
-	      display: flex;
-	      flex-direction: column;
-	      align-items: center;
-	      justify-content: center;
-	
-	      image {
-	        width: 32rpx;
-	        height: 32rpx;
-	        margin-bottom: 6rpx;
-	      }
-	
-	      view {
-	        font-size: 24rpx;
-	        color: #999999;
-	      }
-	    }
-	  }
-	}
-	.boxSty {
-	  padding: 44rpx 41rpx 0rpx;
-	}
-	.liListSty {
-	  border: 1rpx solid #eeeeee;
-	  width: 88rpx;
-	  height: 88rpx;
-	  border-radius: 32rpx;
-	  text-align: center;
-	  line-height: 88rpx;
-	  color: #333;
-	  font-size: 32rpx;
-	  float: left;
-	  margin: 20rpx 23rpx;
-	
-	  &.isRight {
-	    border: 1rpx solid #eeeeee;
-	    color: #fff;
-	    background: #36c75a;
-	  }
-	
-	  &.isWrong {
-	    border: 1rpx solid #eeeeee;
-	    color: #fff;
-	    background: #ff3b30;
-	  }
-	
-	  &.isPart {
-	    border: 1rpx solid #eeeeee;
-	    color: #fff;
-	    background: #FFC53D;
-	  }
-	
-	  &.isOver {
-	    border: 1rpx solid #eeeeee;
-	    color: #fff;
-	    background: blue;
-	  }
-	}
-	.answerInfos {
-	  padding: 25rpx 25rpx 25rpx 23rpx;
-	}
-	.answerTitle {
-	  margin-bottom: 28rpx;
-	  color: #666;
-	  font-size: 30rpx;
-	}
-	.answerContent {
-	  font-size: 30rpx;
-	  color: #666;
-	}
-	
-	.textChild {
-	  display: inline-block;
-	  vertical-align: middle;
-	}
-</style>

+ 0 - 8
components/course/courseChapter.vue

@@ -1,9 +1,6 @@
 <template>
-<!-- style="margin: 20rpx 0" -->
   <view>
     <view class="title" @click="openChapter(menuItem)">
-      <!-- <image src="/static/icon/up1.png" class="icon_up" v-if="down"></image>
-      <image src="/static/icon/down1.png" class="icon_up" v-if="!down"></image> -->
       <u-icon name="arrow-down" color="#999" size="24" v-if="!down"></u-icon>
       <u-icon name="arrow-right" color="#999" size="24" v-if="down"></u-icon>
       <text class="menu_name">{{ menuItem.name }}</text>
@@ -199,8 +196,6 @@ export default {
       }
 
       this.$emit("playEnd", { isRebuild: isRebuild.isRebuild });
-      // let moduleId = this.menuItem.moduleId?this.menuItem.moduleId:0
-      // this.getBuySectionList(this.menuItem.id,this.menuItem.courseId,moduleId)
     },
     findNextSection(index) {
       for (let i = index + 1; i < this.list.length; i++) {
@@ -576,12 +571,10 @@ export default {
             }
           });
           self.list = res.data.data;
-          // console.log('=============2', self.list)
         }
       });
     },
     getReSectionList(chapterId, courseId, moduleId) {
-      // console.log('=============3', 'chapterId:', chapterId, 'courseId:', courseId, 'moduleId:', moduleId)
       let self = this;
       this.$api
         .reSectionList({
@@ -618,7 +611,6 @@ export default {
         });
     },
     getBuySectionList(chapterId, courseId, moduleId) {
-      // console.log('=============1', 'chapterId:', chapterId, 'courseId:', courseId, 'moduleId:', moduleId)
       let self = this;
       this.$api
         .reSectionList({

+ 0 - 8
components/course/courseModule.vue

@@ -2,8 +2,6 @@
 <!-- style="margin: 20rpx 0;" -->
 	<view>
 		<view class="title" @click="openModule(menuItem)">
-		<!-- <image src="/static/icon/up1.png" class="icon_up" v-if="down"></image>
-		<image src="/static/icon/down1.png" class="icon_up" v-if="!down"></image> -->
 			<text class="title_name" style="margin-left: 10rpx;">{{menuItem.name}}</text>
 			<view>
 				<image src="/static/icon/up.png" class="icon_up" v-if="down"></image>
@@ -127,10 +125,6 @@ export default {
 			 down:true,
 			 list:[],
 		};
-	},
-	onLoad() {},
-	created() {
-		
 	},
 	mounted() {
 		if(this.needOpen && this.chapterOpen) {
@@ -232,8 +226,6 @@ export default {
 	
 .title{
 	height: 70rpx;
-	font-family: PingFang SC;
-	// margin-bottom:30rpx;
 	display: flex;
 	justify-content: space-between;
 	align-items: center;

+ 6 - 153
components/course/courseSection.vue

@@ -166,7 +166,6 @@ export default {
 			}).then((res) => {
 				if (res.data.code == 200) {
 					this.moduleSectionExam = res.data.data || []
-					console.log(this.moduleSectionExam, 'this.moduleSectionExam');
 				}
 			})
 		}
@@ -174,17 +173,11 @@ export default {
 	mounted() {
 		this.nowTime = Number(new  Date().getTime()/1000).toFixed(0)
 		this.newId= this.menuItem.sectionId>0?this.menuItem.sectionId:this.menuItem.menuId
-		// console.log(this.newId,'this.newId', this.playNextId)
-		// console.log(this.playSectionId,'this.playSectionId')
-		// console.log(this.isRebuild)
-		// console.log(this.nextMenuItem,'nextMenuItem')
-		// console.log(this.menuItem,'this.menuItem=======>',this.menuItem.recordingUrl, this.nowTime)
 		let moduleId = this.menuItem.moduleId || 0;
 		let chapterId = this.menuItem.chapterId || 0;
 		let sectionId = this.menuItem.sectionId || this.menuItem.menuId;
 		let playNextId = `moduleId${moduleId}chapterId${chapterId}sectionId${sectionId}${this.isRebuild?'isRebuild':''}`;
 		this.playId = playNextId;
-		// console.log('this.playId:', this.playId)
 		uni.$off('playNext'+playNextId) //绑定前先移除之前的事件
 		uni.$once('playNext'+playNextId, (data) => {
 			//到时会触发每个节的监听事件,只允许当前节的接收
@@ -206,11 +199,6 @@ export default {
 							uni.$emit('levelId', ids.join('-'))
 							uni.$emit('getSection', self.nextMenuItem)
 							self.$emit('playEnd',{isRebuild:self.isRebuild})
-							// uni.$off('playend')
-							// uni.$on('playend',res => {
-							// 	console.log('playend2')
-							// 	this.$emit('playEnd',{isRebuild:this.isRebuild})
-							// })
 							
 				        } else {
 							let nextId= self.nextMenuItem.sectionId>0?self.nextMenuItem.sectionId:self.nextMenuItem.menuId
@@ -230,12 +218,10 @@ export default {
 	},
 	methods: {
 		isLast() {
-			// console.log(this.liveLast,'this.liveLast')
 			if(this.liveLast) {
 				let sectionASame = this.liveLast.sectionId == (this.menuItem.sectionId || this.menuItem.menuId)
 				let chapterSame = this.liveLast.chapterId == (this.menuItem.chapterId || 0)
 				let moduleSame = this.liveLast.moduleId == (this.menuItem.moduleId || 0);
-				// console.log(sectionASame && chapterSame && moduleSame,'sectionASame && chapterSame && moduleSame')
 				return sectionASame && chapterSame && moduleSame
 			} else {
 				return false;
@@ -247,7 +233,6 @@ export default {
 		},
 		checkTest() {
 			let data = this.testType == 3 ? this.moduleSectionExam : this.ChapterSectionExam
-			// console.log('data:',this.testType, data, this.moduleSectionExam, this.ChapterSectionExam)
 			let id = this.testType == 3 ? this.menuItem.menuId : this.menuItem.sectionId
 			if (!data) {
 				return false
@@ -256,65 +241,29 @@ export default {
 		},
 		ChapterExam() {
 			this.chapterExams = this.ChapterSectionExam.find((e) => e.sectionId == this.menuItem.sectionId)
-			console.log('item', this.chapterExams)
 			let moduleId = this.chapterExams.moduleId || 0
 			let chapterId = this.chapterExams.chapterId || 0
 			let sectionId = this.chapterExams.sectionId || this.chapterExams.menuId
 			uni.navigateTo({
-              url:
-                "/pages2/class/questionBank?courseId=" +
-                this.courseId +
-                "&gradeId=" +
-                this.gradeId +
-                "&isFromVideo=1&id=" +
-                this.chapterExams.typeId +
-                "&goodsid=" +
-                this.goodsId +
-                "&moduleId=" +
-                moduleId +
-                "&chapterId=" +
-                chapterId +
-				"&sectionId=" +
-                sectionId +
-                "&orderGoodsId=" +
-                this.orderGoodsId +
-				"&type=2"
-                ,
+              url:"/pages2/class/questionBank?courseId=" + this.courseId + "&gradeId=" + this.gradeId + "&isFromVideo=1&id=" + this.chapterExams.typeId +
+                "&goodsid=" + this.goodsId + "&moduleId=" + moduleId + "&chapterId=" + chapterId + "&sectionId=" + sectionId + "&orderGoodsId=" +
+				this.orderGoodsId + "&type=2",
             });
 		},
 		ModuleExam() {
 			let sectionId = this.menuItem.sectionId || this.menuItem.menuId
-			console.log('this.moduleSectionExam: ', this.moduleSectionExam, sectionId)
 			this.moduleExams = this.moduleSectionExam.find((e) => e.sectionId == sectionId)
-			console.log('item--', this.moduleExams)
 			let moduleId = this.moduleExams.moduleId || 0
 			let chapterId = this.moduleExams.chapterId || 0
 			
 			uni.navigateTo({
-              url:
-                "/pages2/class/questionBank?courseId=" +
-                this.courseId +
-                "&gradeId=" +
-                this.gradeId +
-                "&isFromVideo=1&id=" +
-                this.moduleExams.typeId +
-                "&goodsid=" +
-                this.goodsId +
-                "&moduleId=" +
-                moduleId +
-                "&chapterId=" +
-                chapterId +
-				"&sectionId=" +
-                sectionId +
-                "&orderGoodsId=" +
-                this.orderGoodsId +
-				"&type=2"
-                ,
+				url:"/pages2/class/questionBank?courseId=" + this.courseId + "&gradeId=" + this.gradeId + "&isFromVideo=1&id=" + this.moduleExams.typeId +
+                "&goodsid=" + this.goodsId + "&moduleId=" + moduleId + "&chapterId=" + chapterId + "&sectionId=" + sectionId + "&orderGoodsId=" +
+				this.orderGoodsId + "&type=2",
             });
 		},
 		studyRecordMenuAllList() {
 			return new Promise(resolve => {
-				
 				this.$api.studyRecordMenuAllList({
 					courseId:this.courseId,
 					gradeId:this.gradeId,
@@ -327,9 +276,6 @@ export default {
 			})
 		},
 		gradeCheckGoodsStudy() {
-			let moduleId = this.menuItem.moduleId || 0;
-			let chapterId = this.menuItem.chapterId || 0;
-			let sectionId = this.menuItem.sectionId || this.menuItem.menuId;
 			return new Promise(resolve => {
 				this.$api.gradeCheckGoodsStudy({
 					goodsId:this.goodsId,
@@ -389,50 +335,6 @@ export default {
 						})
 					}
 					
-					// if(this.preItem.menuType == 3) { //上一个是节
-					// 	if(this.preItem.learning == 1) { //上一节学完
-					// 		this.playVideo();
-					// 	} else {
-					// 		uni.showToast({
-					// 			icon:'none',
-					// 			title:'请按顺序学习视频课程'
-					// 		})
-					// 	}
-					// } else if(this.preItem.menuType == 2) { //上一个是章
-					// 	this.$api.reSectionList({chapterId: this.preItem.menuId || this.preItem.chapterId,gradeId:this.gradeId,courseId:this.courseId,moduleId:this.preItem.moduleId || 0}).then(res => {
-					// 		if(res.data.code==200){
-					// 			let lastItem = res.data.data[res.data.data.length -1];
-					// 			if(lastItem.learning == 1) {
-					// 				this.playVideo();
-					// 			} else {
-					// 				uni.showToast({
-					// 					icon:'none',
-					// 					title:'请按顺序学习视频课程'
-					// 				})
-					// 			}
-					// 		}
-					// 	});
-					// } else if(this.preItem.menuType == 1) { //上一个是模块
-					// 	this.$api.reChapterList({moduleId:this.preItem.menuId,gradeId:this.gradeId,courseId:this.courseId}).then(res => {
-					// 		if(res.data.code==200){
-					// 			let lastChapterItem = res.data.data[res.data.data.length -1];
-								
-					// 			this.$api.reSectionList({chapterId:lastChapterItem.chapterId,gradeId:this.gradeId,courseId:this.courseId,moduleId:this.menuItem.menuId || this.menuItem.moduleId}).then(res => {
-					// 				if(res.data.code==200){
-					// 					let lastSectionItem = res.data.data[res.data.data.length -1];
-					// 					if(lastSectionItem.learning == 1) {
-					// 						this.playVideo();
-					// 					} else {
-					// 						uni.showToast({
-					// 							icon:'none',
-					// 							title:'请按顺序学习视频课程'
-					// 						})
-					// 					}
-					// 				}
-					// 			});
-					// 		}
-					// 	});
-					// } 
 				} else { //第一章第一节
 					this.playVideo();
 				}
@@ -458,7 +360,6 @@ export default {
 			});
 		},
 		async playVideo() {
-			// console.log('直播的课程:',this.menuItem,this.menuItem.recordingUrl)
 			if(this.menuItem.sectionType==1 || this.menuItem.sectionType == 3){
 				//1录播 3回放
 				if(!this.isBuy){
@@ -480,8 +381,6 @@ export default {
 				let learnNum = await this.goodsTodayStudySectionNum()
 				let hasLearn = await this.gradeCheckGoodsStudy();
 				
-				// console.log(this.sectionMaxNum,'this.sectionMaxNum')
-				// console.log(learnNum,'learnNum')
 				if(this.sectionMaxNum > 0) {
 					if(learnNum >= this.sectionMaxNum && !hasLearn) {
 						uni.showToast({
@@ -506,7 +405,6 @@ export default {
 				} */
 				// 回放
 				if (this.menuItem.sectionType == 3) {
-					// return
 					let moduleId = this.menuItem.moduleId || 0;
 					let chapterId = this.menuItem.chapterId || 0;
 					let sectionId = this.menuItem.sectionId || this.menuItem.menuId;
@@ -532,12 +430,6 @@ export default {
 				uni.$emit('levelId', this.levelId)
 				uni.$emit('getSection', this.menuItem)
 				uni.$emit('isRebuild',this.isRebuild)
-				// console.log(this.menuItem,'menuItem')
-				// uni.$off('playend')
-				// uni.$on('playend',res => {
-				// 	console.log('playend2')
-				// 	this.$emit('playEnd',{isRebuild:this.isRebuild})
-				// })
 			}
 			if(this.menuItem.sectionType==2){
 				//直播
@@ -550,8 +442,6 @@ export default {
 				let learnNum = await this.goodsTodayStudySectionNum()
 				let hasLearn = await this.gradeCheckGoodsStudy();
 				
-				// console.log(this.sectionMaxNum,'this.sectionMaxNum')
-				// console.log(learnNum,'learnNum')
 				if(this.sectionMaxNum > 0 && !this.isLive) {
 					if(learnNum >= this.sectionMaxNum && !hasLearn) {
 						uni.showToast({
@@ -611,29 +501,6 @@ export default {
 						return;
 					}
 				}
-				// if (data.watchStatus == "end" || data.watchStatus == "playback") {
-				// 	this.clickLock = false;
-				// 	uni.showToast({
-				// 		title: '直播已结束',
-				// 		icon: 'none'
-				// 	});
-				// 	return;
-				// }
-
-				// if (data.watchStatus == "waiting") {
-				// 	this.clickLock = false;
-				// 	uni.showToast({
-				// 		title: '直播未开始',
-				// 		icon: 'none'
-				// 	});
-				// 	return;
-				// }
-	
-				// if(this.playSectionId==this.newId){
-				// 	//切换为同一频道
-				// 	this.clickLock = false;
-				// 	return
-				// }
 				let moduleId = this.menuItem.moduleId || 0;
 				let chapterId = this.menuItem.chapterId || 0;
 				let sectionId = this.menuItem.sectionId || this.menuItem.menuId;
@@ -647,20 +514,6 @@ export default {
 				})
 				
 				return;
-				//设置播放的节ID
-				// this.$store.commit('setPlaySectionId', {playSectionId  :this.newId});
-				// this.$store.commit('setPlayChannelId', {playChannelId  :this.menuItem.liveUrl});
-				// this.$store.commit('updatePlayNextId',this.playId)
-				// uni.$emit('levelId', this.levelId)
-				// uni.$emit('getChannel', this.menuItem)
-				// uni.$emit('isRebuild',this.isRebuild)
-				// console.log(this.menuItem,'menuItem')
-				// uni.$off('playend')
-				// uni.$on('playend',res => {
-				// 	console.log('playend1')
-				// 	this.$emit('playEnd',{isRebuild:this.isRebuild})
-				// })
-			
 			}
 			
 		}

+ 0 - 7
components/u-tabbar/style.scss

@@ -1,7 +0,0 @@
-// 定义混入指令,用于在非nvue环境下的flex定义,因为nvue没有display属性,会报错
-@mixin vue-flex($direction: row) {
-	/* #ifndef APP-NVUE */
-	display: flex;
-	flex-direction: $direction;
-	/* #endif */
-}

+ 0 - 336
components/u-tabbar/u-tabbar.vue

@@ -1,336 +0,0 @@
-<template>
-	<view v-if="show" class="u-tabbar" @touchmove.stop.prevent="() => {}">
-		<view class="u-tabbar__content safe-area-inset-bottom" :style="{
-			height: $u.addUnit(height),
-			backgroundColor: bgColor,
-		}" :class="{
-			'u-border-top': borderTop
-		}">
-			<view class="u-tabbar__content__item" v-for="(item, index) in list" :key="index" :class="{
-				'u-tabbar__content__circle': midButton &&item.midButton
-			}" @tap.stop="clickHandler(index)" :style="{
-				backgroundColor: bgColor
-			}">
-				<view :class="[
-					midButton && item.midButton ? 'u-tabbar__content__circle__button' : 'u-tabbar__content__item__button'
-				]">
-					<u-icon
-						:size="midButton && item.midButton ? midButtonSize : iconSize"
-						:name="elIconPath(index)"
-						img-mode="scaleToFill"
-						:color="elColor(index)"
-						:custom-prefix="item.customIcon ? 'custom-icon' : 'uicon'"
-					></u-icon>
-					<u-badge :count="item.count" :is-dot="item.isDot"
-						v-if="item.count || item.isDot"
-						:offset="[-2, getOffsetRight(item.count, item.isDot)]"
-					></u-badge>
-				</view>
-				<view class="u-tabbar__content__item__text" :style="{
-					color: elColor(index)
-				}">
-					<text class="u-line-1">{{item.text}}</text>
-				</view>
-			</view>
-			<view v-if="midButton" class="u-tabbar__content__circle__border" :class="{
-				'u-border': borderTop,
-			}" :style="{
-				backgroundColor: bgColor,
-				left: midButtonLeft
-			}">
-			</view>
-		</view>
-		<!-- 这里加上一个48rpx的高度,是为了增高有凸起按钮时的防塌陷高度(也即按钮凸出来部分的高度) -->
-		<view class="u-fixed-placeholder safe-area-inset-bottom" :style="{
-				height: `calc(${$u.addUnit(height)} + ${midButton ? 48 : 0}rpx)`,
-			}"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			// 显示与否
-			show: {
-				type: Boolean,
-				default: true
-			},
-			// 通过v-model绑定current值
-			value: {
-				type: [String, Number],
-				default: 0
-			},
-			// 整个tabbar的背景颜色
-			bgColor: {
-				type: String,
-				default: '#ffffff'
-			},
-			// tabbar的高度,默认50px,单位任意,如果为数值,则为rpx单位
-			height: {
-				type: [String, Number],
-				default: '50px'
-			},
-			// 非凸起图标的大小,单位任意,数值默认rpx
-			iconSize: {
-				type: [String, Number],
-				default: 40
-			},
-			// 凸起的图标的大小,单位任意,数值默认rpx
-			midButtonSize: {
-				type: [String, Number],
-				default: 90
-			},
-			// 激活时的演示,包括字体图标,提示文字等的演示
-			activeColor: {
-				type: String,
-				default: '#303133'
-			},
-			// 未激活时的颜色
-			inactiveColor: {
-				type: String,
-				default: '#606266'
-			},
-			// 是否显示中部的凸起按钮
-			midButton: {
-				type: Boolean,
-				default: false
-			},
-			// 配置参数
-			list: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			// 切换前的回调
-			beforeSwitch: {
-				type: Function,
-				default: null
-			},
-			// 是否显示顶部的横线
-			borderTop: {
-				type: Boolean,
-				default: true
-			},
-			// 是否隐藏原生tabbar
-			hideTabBar: {
-				type: Boolean,
-				default: true
-			},
-		},
-		data() {
-			return {
-				// 由于安卓太菜了,通过css居中凸起按钮的外层元素有误差,故通过js计算将其居中
-				midButtonLeft: '50%',
-				pageUrl: '', // 当前页面URL
-			}
-		},
-		created() {
-			// 是否隐藏原生tabbar
-			if(this.hideTabBar) uni.hideTabBar();
-			// 获取引入了u-tabbar页面的路由地址,该地址没有路径前面的"/"
-			let pages = getCurrentPages();
-			// 页面栈中的最后一个即为项为当前页面,route属性为页面路径
-			this.pageUrl = pages[pages.length - 1].route;
-		},
-		computed: {
-			elIconPath() {
-				return (index) => {
-					// 历遍u-tabbar的每一项item时,判断是否传入了pagePath参数,如果传入了
-					// 和data中的pageUrl参数对比,如果相等,即可判断当前的item对应当前的tabbar页面,设置高亮图标
-					// 采用这个方法,可以无需使用v-model绑定的value值
-					let pagePath = this.list[index].pagePath;
-					// 如果定义了pagePath属性,意味着使用系统自带tabbar方案,否则使用一个页面用几个组件模拟tabbar页面的方案
-					// 这两个方案对处理tabbar item的激活与否方式不一样
-					if(pagePath) {
-						if(pagePath == this.pageUrl || pagePath == '/' + this.pageUrl) {
-							return this.list[index].selectedIconPath;
-						} else {
-							return this.list[index].iconPath;
-						}
-					} else {
-						// 普通方案中,索引等于v-model值时,即为激活项
-						return index == this.value ? this.list[index].selectedIconPath : this.list[index].iconPath
-					}
-				}
-			},
-			elColor() {
-				return (index) => {
-					// 判断方法同理于elIconPath
-					let pagePath = this.list[index].pagePath;
-					if(pagePath) {
-						if(pagePath == this.pageUrl || pagePath == '/' + this.pageUrl) return this.activeColor;
-						else return this.inactiveColor;
-					} else {
-						return index == this.value ? this.activeColor : this.inactiveColor;
-					}
-				}
-			}
-		},
-		mounted() {
-			this.midButton && this.getMidButtonLeft();
-		},
-		methods: {
-			async clickHandler(index) {
-				if(this.beforeSwitch && typeof(this.beforeSwitch) === 'function') {
-					// 执行回调,同时传入索引当作参数
-					// 在微信,支付宝等环境(H5正常),会导致父组件定义的customBack()函数体中的this变成子组件的this
-					// 通过bind()方法,绑定父组件的this,让this.customBack()的this为父组件的上下文
-					let beforeSwitch = this.beforeSwitch.bind(this.$u.$parent.call(this))(index);
-					// 判断是否返回了promise
-					if (!!beforeSwitch && typeof beforeSwitch.then === 'function') {
-						await beforeSwitch.then(res => {
-							// promise返回成功,
-							this.switchTab(index);
-						}).catch(err => {
-
-						})
-					} else if(beforeSwitch === true) {
-						// 如果返回true
-						this.switchTab(index);
-					}
-				} else {
-					this.switchTab(index);
-				}
-			},
-			// 切换tab
-			switchTab(index) {
-				// 发出事件和修改v-model绑定的值
-				this.$emit('change', index);
-				// 如果有配置pagePath属性,使用uni.switchTab进行跳转
-				if(this.list[index].pagePath) {
-					uni.switchTab({
-						url: this.list[index].pagePath
-					})
-				} else {
-					// 如果配置了papgePath属性,将不会双向绑定v-model传入的value值
-					// 因为这个模式下,不再需要v-model绑定的value值了,而是通过getCurrentPages()适配
-					this.$emit('input', index);
-				}
-			},
-			// 计算角标的right值
-			getOffsetRight(count, isDot) {
-				// 点类型,count大于9(两位数),分别设置不同的right值,避免位置太挤
-				if(isDot) {
-					return -20;
-				} else if(count > 9) {
-					return -40;
-				} else {
-					return -30;
-				}
-			},
-			// 获取凸起按钮外层元素的left值,让其水平居中
-			getMidButtonLeft() {
-				let windowWidth = this.$u.sys().windowWidth;
-				// 由于安卓中css计算left: 50%的结果不准确,故用js计算
-				this.midButtonLeft = (windowWidth / 2) + 'px';
-			}
-		}
-	}
-</script>
-
-<style scoped lang="scss">
-	@import "./style.scss";
-	.u-fixed-placeholder {
-		/* #ifndef APP-NVUE */
-		box-sizing: content-box;
-		/* #endif */
-	}
-
-	.u-tabbar {
-		height: 100rpx;
-		&__content {
-			@include vue-flex;
-			align-items: center;
-			position: relative;
-			position: fixed;
-			// bottom: 0;
-			// left: 0;
-			bottom: 0rpx;
-			left: 0rpx;
-			width: 100%;
-			z-index: 998;
-			/* #ifndef APP-NVUE */
-			box-sizing: content-box;
-			/* #endif */
-
-			&__circle__border {
-				border-radius: 100%;
-				width: 110rpx;
-				height: 110rpx;
-				// top: -46rpx;
-				top: -20rpx;
-				position: absolute;
-				z-index: 4;
-				background-color: #ffffff;
-				// 由于安卓的无能,导致只有3个tabbar item时,此css计算方式有误差
-				// 故使用js计算的形式来定位,此处不注释,是因为js计算有延后,避免出现位置闪动
-				left: 50%;
-				transform: translateX(-50%);
-
-				&:after {
-					border-radius: 100px;
-				}
-			}
-
-			&__item {
-				flex: 1;
-				justify-content: center;
-				height: 100%;
-				padding: 12rpx 0;
-				@include vue-flex;
-				flex-direction: column;
-				align-items: center;
-				position: relative;
-
-				&__button {
-					position: absolute;
-					top: 14rpx;
-					left: 50%;
-					transform: translateX(-50%);
-				}
-
-				&__text {
-					color: $u-content-color;
-					font-size: 26rpx;
-					line-height: 28rpx;
-					position: absolute;
-					bottom: 14rpx;
-					left: 50%;
-					transform: translateX(-50%);
-					width: 100%;
-					text-align: center;
-				}
-			}
-
-			&__circle {
-				position: relative;
-				@include vue-flex;
-				flex-direction: column;
-				justify-content: space-between;
-				z-index: 10;
-				/* #ifndef APP-NVUE */
-				height: calc(100% - 1px);
-				/* #endif */
-
-				&__button {
-					// width: 90rpx;
-					// height: 90rpx;
-					width: 60rpx;
-					height: 60rpx;
-					border-radius: 100%;
-					@include vue-flex;
-					justify-content: center;
-					align-items: center;
-					position: absolute;
-					background-color: #ffffff;
-					// top: -40rpx;
-					top: -10rpx;
-					left: 50%;
-					z-index: 6;
-					transform: translateX(-50%);
-				}
-			}
-		}
-	}
-</style>

+ 0 - 3
pages/course/index.vue

@@ -173,16 +173,13 @@
 			</view>
 		</view>
 
-		<!-- <tab-bar v-model="current" :list="tabbarlist" :mid-button="true" :mid-button-size="50" class="tab_items"></tab-bar> -->
 	</view>
 </template>
 
 <script>
-// import TabBar from '@/components/u-tabbar/u-tabbar.vue';
 import { mapGetters } from 'vuex';
 export default {
 	components: {
-		// TabBar
 	},
 	data() {
 		return {

+ 0 - 2
pages/index/index.vue

@@ -223,9 +223,7 @@
 <script>
 import { mapGetters, mapActions } from 'vuex';
 import { socket_url, version} from '@/common/request.js';
-// import TabBar from '@/components/u-tabbar/u-tabbar.vue';
 export default {
-	// components: { TabBar },
 	data() {
 		return {
 			tabNum: 0,

+ 0 - 2
pages/learn/index.vue

@@ -467,9 +467,7 @@
 var curTime = new Date().getTime() // 当前时间的时间戳
 import {mapGetters,mapActions} from 'vuex'
 import { WEBVIEW_URL } from '@/common/request.js'
-// import TabBar from '@/components/u-tabbar/u-tabbar.vue';
 export default {
-	// components: { TabBar },
     data() {
         return {
 			leftDays: 0,

+ 0 - 6
pages/shopping/shoppingCart.vue

@@ -137,9 +137,6 @@
 			</view>
 		</view>
 
-		<!-- <view class="half_circle">
-			<view class="bulge"></view>
-		</view> -->
 		<view class="bottomBox" v-if="!hideBuyState">
 			<view class="bottons_all">
 				<view class="check_alls">
@@ -159,15 +156,12 @@
 			</view>
 			
 		</view>
-		<!-- <tab-bar v-model="current" :list="tabbarlist" :mid-button="true" :mid-button-size="50" class="tab_items"></tab-bar> -->
 	</view>
 </template>
 
 <script>
 import { mapGetters } from 'vuex';
-// import TabBar from '@/components/u-tabbar/u-tabbar.vue';
 export default {
-	// components: { TabBar },
 	data() {
 		return {
 			gradeValue: -1,

+ 0 - 2
pages/wd/index.vue

@@ -141,9 +141,7 @@
 <script>
 // import { websocket } from '@/common/socket.js';
 import { mapGetters } from 'vuex';
-// import TabBar from '@/components/u-tabbar/u-tabbar.vue';
 export default {
-	// components: {TabBar},
 	data() {
 		return {
 			list: [23, 24, 25, 26, 27, 28, 29],

+ 0 - 2445
pages2/bank/questionBank - 副本1.vue

@@ -1,2445 +0,0 @@
-<template>
-  <view class="questionBank">
-    <uni-nav-bar
-      @clickLeft="clickLeft"
-      left-icon="back"
-      ref="navbar"
-      :statusBar="true"
-      :title="examData.examName"
-    ></uni-nav-bar>
-    
-		<bankExam ref="bankExam" class="swiper" @showpopups="showpopupsEvent($event)" :recordId="recordId" :examId="id" :current="current" :list="questionList" :goodsId="goodsId" :orderGoodsId="orderGoodsId" :bankType="bankType" :lastTime="lastTime" :allTimes="allTimes"></bankExam>
-
-    <view class="dialog" v-if="showDialog">
-      <image class="pointer" src="/static/pointer.png" mode=""></image>
-      <view class="text">左右滑动切换上下题</view>
-      <view class="btn" @click="showDialog = false">我知道了</view>
-    </view>
-
-    <view class="dialog-arrow" v-if="showArrow">
-      <image class="pointer" src="/static/arrow-left.png" mode=""></image>
-      <view class="text">您当前正在测试, 若想退出请点击左上角返回按钮。</view>
-      <view class="btn" @click="showArrow = false">我知道了</view>
-    </view>
-
-    <view class="dialog_wrap" v-if="testOver">
-      <view class="bg"></view>
-      <view class="dialog">
-        <view class="title">温馨提示</view>
-        <view class="content">
-          <view>您已完成所有题目,</view>
-          <view>快去交卷吧!</view>
-        </view>
-        <view class="btns">
-          <view class="btn" @click="noSubmit()">暂不交卷</view>
-          <view class="btn active" @click="submitNow()">立即交卷</view>
-        </view>
-      </view>
-    </view>
-
-    <view class="dialog_wrap" v-if="isLastCount">
-      <view class="bg"></view>
-      <view class="dialog">
-        <view class="title">温馨提示</view>
-        <view class="content">
-          <view
-            >您当前正在测试,还剩{{ lastCount }}道题未完成,离开视为交卷</view
-          >
-        </view>
-        <view class="btns">
-          <view class="btn" @click="noLeave()">暂不离开</view>
-          <view class="btn active" @click="leaveNow()">继续离开</view>
-        </view>
-      </view>
-    </view>
-    <u-popup
-      v-model="showpopups"
-      mode="center"
-      border-radius="24"
-      height="439rpx"
-      width="640rpx"
-      :mask-close-able="false"
-    >
-      <view class="popboxs">
-        <view class="classTops">温馨提示</view>
-        <view class="textStys">
-          {{
-            cgType === 7
-              ? "您还未交卷,确定结束做题吗?"
-              : cgType === 8
-              ? `您还有${lastCount}道题未作答, 现在继续作答,还是下次继续?`
-              : cgType === 6
-              ? `您还有${lastCount}道题未作答, 您确定要交卷吗?`
-              : cgType == 9
-              ? `您已完成所有题目,快去交卷吧!`
-              : ""
-          }}
-        </view>
-        <view class="classFootsty" v-if="cgType === 6">
-          <view class="btnsty btns1" @click="submit">立即交卷</view>
-          <view class="btnsty btns2" @click="showpopups = false">继续做题</view>
-        </view>
-        <view class="classFootsty" v-if="cgType === 7">
-          <view class="btnsty btns1" @click="backPages">下次继续</view>
-          <view class="btnsty btns2" @click="submit">结束做题</view>
-        </view>
-        <view class="classFootsty" v-if="cgType === 8">
-          <view class="btnsty btns1" @click="backPages()">下次继续</view>
-          <view class="btnsty btns2" @click="showpopups = false">继续作答</view>
-        </view>
-        <view class="classFootsty" v-if="cgType === 9">
-          <view class="btnsty btns1" @click="showpopups = false">暂不交卷</view>
-          <view class="btnsty btns2" @click="submit">立即交卷</view>
-        </view>
-      </view>
-    </u-popup>
-  </view>
-</template>
-
-<script>
-import bankExam from "@/components/bank-exam/bankExam.vue";
-export default {
-	components:{
-		bankExam
-	},
-  data() {
-    return {
-      showpopups: false,
-      id: "",
-      current: 0,
-      questionList: [],
-      ast: ["A", "B", "C", "D", "E", "F", "G"],
-      judge: ["错误", "正确"],
-      ans: [],
-      ques: [],
-      show: false,
-      showDialog: false,
-      bankList: [],
-      collectList: [],
-      goodsId: "",
-      recordId: "",
-      isSubmit: false,
-      lastTime: 0, //剩余考试时长
-      allTimes: 0, //总考试时长
-      timer: null,
-      wrongList: [],
-      bankType: 0, //试卷类型
-      needBack: false, //是否是考试
-      testOver: false,
-      isLastCount: false, //是否有未答题目
-      lastCount: 0, //剩余没有回答的题目数
-      chapterId: 0,
-      moduleId: 0,
-      showArrow: false, //退出提示
-      isFromVideo: "",
-      gradeId: "",
-      examData: {},
-      orderGoodsId: "",
-      cgType: 0, //对应设计稿弹窗编码
-    };
-  },
-  async onLoad(option) {
-    this.orderGoodsId = option.orderGoodsId || 0;
-    this.current = +option.current || 0;
-    this.id = option.id;
-    this.goodsId = option.goodsid;
-    this.chapterId = option.chapterId || 0;
-    this.moduleId = option.moduleId || 0;
-    this.isFromVideo = option.isFromVideo || "";
-    this.gradeId = option.gradeId || "";
-    let isBack = option.isback;
-
-    let showDialog = uni.getStorageSync("showDialog");
-
-    if (showDialog) {
-      this.showDialog = false;
-    } else {
-      this.showDialog = true;
-      uni.setStorageSync("showDialog", "1");
-    }
-
-    //考试被迫返回
-    if (isBack) {
-      let app = getApp();
-      let globalData = app.globalData;
-
-      for (var k in globalData.bankData) {
-        this[k] = globalData.bankData[k];
-      }
-      this.showArrow = true;
-
-      this.timer = setInterval(() => {
-        if (this.lastTime <= 0) {
-          clearInterval(this.timer);
-          uni.showToast({
-            icon: "none",
-            mask: true,
-            title: "考试时间已到,系统将自动交卷",
-            duration: 10000,
-          });
-
-          this.submit();
-          return;
-        }
-        this.lastTime--;
-      }, 1000);
-    } else {
-      //进入页面
-      await this.bankExam();
-      this.goodsQuestionList();
-    }
-  },
-  onUnload() {
-    if (this.isSubmit) {
-      clearInterval(this.timer);
-      return;
-    }
-    //考试试卷 阻止ios手势返回,自动跳回答题页
-    if (this.needBack) {
-      let app = getApp();
-      app.globalData.bankData = this.$data;
-      clearInterval(this.timer);
-      uni.navigateTo({
-        url:
-          "/pages2/bank/questionBank?id=" +
-          this.id +
-          "&goodsid=" +
-          this.goodsId +
-          "&isback=true&orderGoodsId=" +
-          this.orderGoodsId,
-      });
-    } else {
-      //点击返回按钮确认允许退出,记录答题记录
-      clearInterval(this.timer);
-
-      this.examRecordEdit();
-    }
-  },
-  methods: {
-    /**
-     * 是否有上传图片
-     */
-    hasImgs(bank) {
-      return bank.ansText.imageList.length == 0;
-    },
-    /**
-     * 获取试卷类型2考试,1练习
-     */
-    bankExam() {
-      return new Promise((resolve) => {
-        this.$api.bankExam(this.id).then((res) => {
-          this.bankType = res.data.data.doType;
-          this.examData = res.data.data;
-          if (this.bankType == 2) {
-            this.needBack = true;
-          }
-
-          resolve();
-        });
-      });
-    },
-    /**
-     * 点击后退按钮
-     */
-    clickLeft() {
-			console.log()
-      if (this.bankType == 1) {
-        let ansCount = this.$refs.bankExam.questionOverNum(true); //已答题数
-        this.lastCount = this.questionList.length - ansCount; //统计未答完的题数
-
-        //所有题目答完
-        if (this.lastCount == 0) {
-          // this.testOver = true;
-          this.cgType = 7;
-          //未答完
-        } else {
-          this.cgType = 8;
-          // this.isLastCount = true;
-        }
-        this.showpopups = true;
-      } else if (this.bankType == 2) {
-        let ansCount = this.$refs.bankExam.questionOverNum(true); //已答题数
-        this.lastCount = this.questionList.length - ansCount; //统计未答完的题数
-
-        //所有题目答完
-        if (this.lastCount == 0) {
-          this.testOver = true;
-          //未答完
-        } else {
-          this.isLastCount = true;
-        }
-      }
-    },
-    /**
-     * 返回上一页
-     */
-    backPages() {
-      this.needBack = false;
-      uni.navigateBack({
-        delta: 1,
-      });
-    },
-    /**
-     * 获取已经回答的题目数
-     * hasSpecail (是否包含简答和案例)
-     */
-    questionOverNum(hasSpecail) {
-      let count = 0;
-      this.questionList.forEach((item) => {
-        if (item.type == 1 || item.type == 2 || item.type == 3) {
-          if (item.ques) {
-            count++;
-          }
-        } else if (item.type == 4) {
-          //案例题
-          if (hasSpecail) {
-            let isOver = item.jsonStr.every((jsonItem, indexs) => {
-              if (
-                jsonItem.type == 1 ||
-                jsonItem.type == 2 ||
-                jsonItem.type == 3
-              ) {
-                if (item.ques[indexs]) {
-                  return true;
-                } else {
-                  return false;
-                }
-              } else if (jsonItem.type == 5) {
-                if (
-                  item.ques[indexs] &&
-                  (item.ques[indexs].text || item.ques[indexs].imageList.length)
-                ) {
-                  console.log("chil");
-                  return true;
-                } else {
-                  return false;
-                }
-              }
-            });
-
-            if (isOver) {
-              count++;
-              console.log(item, 444);
-            }
-          }
-        } else if (item.type == 5) {
-          //简答题
-          if (hasSpecail) {
-            if (item.ques && (item.ques.text || item.ques.imageList.length)) {
-              console.log(5, item);
-              count++;
-            }
-          }
-        }
-      });
-
-      return count;
-    },
-    /**
-     * 是否做完所有题目
-     */
-    isDoOver() {
-      let questionOverNum = this.$refs.bankExam.questionOverNum(true); //获取已经回答的题目数(包括简答和案例)
-      if (this.questionList.length == questionOverNum) {
-        //全部做完弹窗
-        this.cgType = 9;
-        this.showpopups = true;
-      }
-    },
-    /**
-     * 暂不交卷
-     */
-    noSubmit() {
-      //设为允许退出页面
-      this.needBack = false;
-      uni.navigateBack({
-        delta: 1,
-      });
-    },
-    /**
-     * 不离开
-     */
-    noLeave() {
-      this.isLastCount = false;
-    },
-    /**
-     * 立即离开并交卷
-     */
-    leaveNow() {
-      this.needBack = false;
-      this.isSubmit = true;
-      uni.navigateBack({
-        delta: 1,
-      });
-      let score = 0; //计算总分
-      let reportStatus = 0;
-      let number = 0; //做对的题目数量
-      let doQuestionNum = 0; //做过的题目数量
-      let allScore = 0; //总分
-      let passScore = 0;
-      let doWrongQuestionIds = []; //错题和未做题id(客观题)
-      let doQuestionIds = []; //做过的题目id
-      let lessQuestionNum = 0;
-      let rightQuestionIds = []; //做对的题目id
-      this.questionList.forEach((item, index) => {
-        // passScore = item.passScore
-        if (item.type == 1) {
-          //正确
-          if (item.ques == item.ans) {
-            item.scoreResult = item.score;
-            score += item.score;
-            number++;
-            rightQuestionIds.push(item.questionId);
-          } else {
-            //错误
-            item.scoreResult = 0;
-						if (item.ques) {
-							doWrongQuestionIds.push(item.questionId);
-						}
-          }
-          allScore += item.score;
-          if (item.ques) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        } else if (item.type == 2) {
-          let isRight =
-            item.ans &&
-            item.ans.every((quesItem, quesIndex) => {
-              if (item.ques) {
-                return item.ques[quesIndex] == item.ans[quesIndex];
-              } else {
-                return false;
-              }
-            });
-
-          if (isRight) {
-            score += item.score;
-            number++;
-            item.scoreResult = item.score;
-            rightQuestionIds.push(item.questionId);
-          } else {
-            let hasPart = false;
-            let checkboxScore = 1; //获取单题总分数
-            item.ques &&
-              item.ques.forEach((ques, quesIndex) => {
-                //选错一个全扣
-                if (item.ques) {
-                  if (item.ans.indexOf(item.ques[quesIndex]) == -1) {
-                    checkboxScore = 0;
-                  }
-                } else {
-                  checkboxScore = 0;
-                }
-              });
-            console.log(checkboxScore);
-
-            //没选错
-            if (checkboxScore) {
-              checkboxScore = 0;
-              item.ans.forEach((ans, quesIndex) => {
-                //漏选只能得部分分数
-                if (item.ques) {
-                  if (item.ques.indexOf(item.ans[quesIndex]) == -1) {
-                    checkboxScore = +item.partScore;
-                    hasPart = true;
-                  }
-                } else {
-                  checkboxScore = 0;
-                }
-              });
-            }
-
-            if (!hasPart) {
-              //0分
-              item.scoreResult = 0;
-							if (item.ques) {
-								doWrongQuestionIds.push(item.questionId);
-							}
-            } else {
-              //部分分
-              // number++;
-              lessQuestionNum++;
-              // doWrongQuestionIds.push(item.questionId);
-              item.scoreResult = checkboxScore;
-              score += checkboxScore;
-              // rightQuestionIds.push(item.questionId)
-            }
-          }
-          allScore += item.score;
-          if (item.ques && item.ques.length) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        } else if (item.type == 3) {
-          if (item.ques == item.ans) {
-            item.scoreResult = item.score;
-            score += item.score;
-            number++;
-            rightQuestionIds.push(item.questionId);
-          } else {
-            item.scoreResult = 0;
-						if (item.ques) {
-							doWrongQuestionIds.push(item.questionId);
-						}
-          }
-          allScore += item.score;
-          if (item.ques) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        } else if (item.type == 4) {
-          allScore += item.score;
-          if (item.ques && item.ques.length) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        } else if (item.type == 5) {
-          allScore += item.score;
-          if (item.ques && (item.ques.imageList.length || item.ques.text)) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        }
-      });
-
-      //大于60分及格
-      if (score >= 60) {
-        reportStatus = 1;
-      } else {
-        reportStatus = 0;
-      }
-
-      //交卷
-      this.$api
-        .examRecordEdit({
-          examId: this.id,
-          goodsId: this.goodsId,
-          orderGoodsId: this.orderGoodsId,
-          reportStatus: reportStatus,
-          recordId: this.recordId,
-          rightQuestionNum: number,
-          status: 1,
-					lessQuestionNum:lessQuestionNum,
-          moduleExamId: this.moduleId || 0,
-          chapterExamId: this.chapterId || 0,
-          doQuestionIds: doQuestionIds.join(","),
-          rightQuestionIds: rightQuestionIds.join(","),
-          doQuestionNum: doQuestionNum,
-          performance: score,
-          totalScore: allScore,
-          examTime: parseInt(this.allTimes),
-          doTime: parseInt(this.allTimes) - parseInt(this.lastTime),
-          historyExamJson: JSON.stringify(this.questionList),
-        })
-        .then((res) => {
-          this.isSubmit = true;
-          if (res.data.code == 200) {
-          }
-        });
-
-      //错题集id提交(客观题)
-      this.$api
-        .examWrongRecord({
-          orderGoodsId: this.orderGoodsId,
-          moduleExamId: this.moduleId || 0,
-          chapterExamId: this.chapterId || 0,
-          examId: this.id,
-          goodsId: this.goodsId,
-          questionIds: doWrongQuestionIds,
-          recordId: this.recordId,
-        })
-        .then((res) => {});
-    },
-    /**
-     * 立即交卷
-     */
-    submitNow() {
-      this.showpopups = false;
-      this.needBack = false;
-      this.submit();
-    },
-    /**
-     * 离开页面统计回答正确题数
-     */
-    examRecordEdit() {
-      if (!this.isSubmit) {
-        let number = 0;
-        let score = 0;
-        let doQuestionNum = 0;
-        let doQuestionIds = []; //做过的题目id
-        this.questionList.forEach((item, index) => {
-          if (item.type == 1) {
-            if (item.ques == item.ans) {
-              score += item.score;
-              number++;
-            }
-
-            if (item.ques) {
-              doQuestionNum++;
-              doQuestionIds.push(item.questionId);
-            }
-          } else if (item.type == 2) {
-            let isRight =
-              item.ans &&
-              item.ans.every((quesItem, quesIndex) => {
-                if (item.ques) {
-                  return item.ques[quesIndex] == item.ans[quesIndex];
-                } else {
-                  return false;
-                }
-              });
-
-            if (isRight) {
-              score += item.score;
-              number++;
-            } else {
-              let checkboxScore = 1; //获取单题总分数
-              item.ques &&
-                item.ques.forEach((ques, quesIndex) => {
-                  //选错一个全扣
-                  if (item.ques) {
-                    if (item.ans.indexOf(item.ques[quesIndex]) == -1) {
-                      checkboxScore = 0;
-                    }
-                  } else {
-                    checkboxScore = 0;
-                  }
-                });
-              console.log(checkboxScore);
-
-              //没选错
-              if (checkboxScore) {
-                checkboxScore = 0;
-                item.ans.forEach((ans, quesIndex) => {
-                  //漏选扣一部分,对n题给n X partScore 分
-                  if (item.ques) {
-                    if (item.ques.indexOf(item.ans[quesIndex]) != -1) {
-                      checkboxScore += item.partScore;
-                    }
-                  } else {
-                    checkboxScore = 0;
-                  }
-                });
-              }
-
-              if (checkboxScore <= 0) {
-                //0分
-              } else {
-                //部分分
-                // number++;
-                score += checkboxScore;
-              }
-            }
-            if (item.ques && item.ques.length) {
-              doQuestionNum++;
-              doQuestionIds.push(item.questionId);
-            }
-          } else if (item.type == 3) {
-            if (item.ques == item.ans) {
-              score += item.score;
-              number++;
-            }
-
-            if (item.ques) {
-              doQuestionNum++;
-              doQuestionIds.push(item.questionId);
-            }
-          } else if (item == 4) {
-            if (item.ques.length) {
-              doQuestionNum++;
-              doQuestionIds.push(item.questionId);
-            }
-          } else if (item.type == 5) {
-            if (item.ques && (item.ques.imageList.length || item.ques.text)) {
-              doQuestionNum++;
-              doQuestionIds.push(item.questionId);
-            }
-          }
-        });
-
-        this.$api
-          .examRecordEdit({
-            orderGoodsId: this.orderGoodsId,
-            examId: this.id,
-            goodsId: this.goodsId,
-            recordId: this.recordId,
-            doQuestionIds: doQuestionIds.join(","),
-            rightQuestionNum: number,
-            moduleExamId: this.moduleId || 0,
-            chapterExamId: this.chapterId || 0,
-            status: 0,
-            doQuestionNum: doQuestionNum,
-            historyExamJson: JSON.stringify(this.questionList),
-          })
-          .then((res) => {});
-      }
-    },
-    /**
-     * 记录总题数
-     * hasSpecial (是否包含简答和案例) true 包含  false 不包含
-     */
-    examRecord(hasSpecial) {
-      let questionList = 0;
-      // if(!hasSpecial) {
-      this.questionList.forEach((item, index) => {
-        if (item.type == 1 || item.type == 2 || item.type == 3) {
-          questionList++;
-        }
-      });
-      // } else {
-      // 	questionList = this.questionList.length;
-      // }
-
-      this.$api
-        .examRecord({
-          chapterExamId: this.chapterId || 0,
-          orderGoodsId: this.orderGoodsId,
-          moduleExamId: this.moduleId || 0,
-          examId: this.id,
-          goodsId: this.goodsId,
-          totalQuestionNum: questionList,
-          allQuestionNum: this.questionList.length,
-        })
-        .then((res) => {
-          this.recordId = res.data.data;
-          //获取recordId 初始化先提交题目 以防突然下次继续做题退出报错
-          if (this.bankType == 1) {
-            this.examRecordEdit();
-          }
-        });
-    },
-    /**
-     * @param {Object} second倒计时过滤器
-     */
-    countdown(second) {
-      if (second) {
-        let h = parseInt((second / 60 / 60) % 24); //   计算小时
-        let m = parseInt((second / 60) % 60); //   计算分数
-        let s = parseInt(second % 60); //   计算当前秒数
-
-        if (h < 10) h = "0" + h;
-        if (m < 10) m = "0" + m;
-        if (s < 10) s = "0" + s;
-
-        return h + ":" + m + ":" + s;
-      } else {
-        return "";
-      }
-    },
-		
-		hideDialog() {
-			this.showDialog = false
-		},
-    /**
-     * 请求题目列表
-     */
-    goodsQuestionList() {
-      this.$api
-        .goodsQuestionList({
-          examId: this.id,
-        })
-        .then((res) => {
-          if (!res.data.data.length) {
-            this.hideDialog();
-            uni.showModal({
-              showCancel: false,
-              content: "该试卷暂无题目",
-              success: (k) => {
-                if (k.confirm) {
-									this.isSubmit = true;
-                  uni.navigateBack();
-                }
-              },
-            });
-            return;
-          }
-          this.allTimes = res.data.data[0].answerTime * 60;
-          this.lastTime =
-            res.data.data[0].answerTime && res.data.data[0].answerTime * 60;
-          //考试时间到了自动交卷
-          if (this.lastTime) {
-            this.timer = setInterval(() => {
-              if (this.lastTime <= 0) {
-                clearInterval(this.timer);
-                uni.showToast({
-                  icon: "none",
-                  mask: true,
-                  title: "考试时间已到,系统将自动交卷",
-                  duration: 10000,
-                });
-
-                this.submit();
-                return;
-              }
-              this.lastTime--;
-            }, 1000);
-          } else {
-          }
-          res.data.data.forEach((item, index) => {
-            // if (typeof item.jsonStr == 'string') {
-            item.jsonStr = JSON.parse(item.jsonStr);
-
-            if (item.type == 2) {
-              //多选
-              item.jsonStr.forEach((str) => {
-                str.optionsId = "" + str.optionsId;
-              });
-              let arr = item.answerQuestion.split(",");
-              arr.forEach((a, i) => {
-                arr[i] = "" + a;
-              });
-              item.ans = arr;
-              item.analysisContent &&
-                (item.analysisContent = item.analysisContent.replace(
-                  /<img/gi,
-                  '<img style="max-width:100%;"'
-                ));
-              item.content &&
-                (item.content = item.content.replace(
-                  /<img/gi,
-                  '<img style="max-width:100%;"'
-                ));
-              return;
-            } else if (item.type == 5) {
-              //简答题
-              item.ansText = {
-                text: "",
-                imageList: [],
-              };
-
-              item.ques = {
-                text: "",
-                imageList: [],
-              };
-              item.analysisContent &&
-                (item.analysisContent = item.analysisContent.replace(
-                  /<img/gi,
-                  '<img style="max-width:100%;"'
-                ));
-              item.content &&
-                (item.content = item.content.replace(
-                  /<img/gi,
-                  '<img style="max-width:100%;"'
-                ));
-            } else if (item.type == 4) {
-              //案例题
-
-              item.ques = [];
-              item.current = 0;
-              let ansArr = [];
-              item.jsonStr.forEach((json, index) => {
-                if (json.type == 1) {
-                  ansArr[index] = json.answerQuestion;
-                  json.content &&
-                    (json.content = json.content.replace(
-                      /<img/gi,
-                      '<img style="max-width:100%;"'
-                    ));
-                } else if (json.type == 2) {
-                  json.optionsList.forEach((str) => {
-                    str.optionsId = "" + str.optionsId;
-                  });
-                  let arr = json.answerQuestion.split(",");
-                  arr.forEach((a, i) => {
-                    arr[i] = "" + a;
-                  });
-                  ansArr[index] = arr;
-                  json.content &&
-                    (json.content = json.content.replace(
-                      /<img/gi,
-                      '<img style="max-width:100%;"'
-                    ));
-                } else if (json.type == 3) {
-                  ansArr[index] = json.answerQuestion;
-                  json.content &&
-                    (json.content = json.content.replace(
-                      /<img/gi,
-                      '<img style="max-width:100%;"'
-                    ));
-                } else if (json.type == 5) {
-                  ansArr[index] = {
-                    text: json.answerQuestion,
-                    imageList: [],
-                  };
-                  json.ansText = {
-                    text: "",
-                    imageList: [],
-                  };
-                  json.content &&
-                    (json.content = json.content.replace(
-                      /<img/gi,
-                      '<img style="max-width:100%;"'
-                    ));
-                }
-              });
-
-              item.analysisContent &&
-                (item.analysisContent = item.analysisContent.replace(
-                  /<img/gi,
-                  '<img style="max-width:100%;"'
-                ));
-              item.content &&
-                (item.content = item.content.replace(
-                  /<img/gi,
-                  '<img style="max-width:100%;"'
-                ));
-              item.ans = ansArr;
-              return;
-            }
-
-            item.analysisContent &&
-              (item.analysisContent = item.analysisContent.replace(
-                /<img/gi,
-                '<img style="max-width:100%;"'
-              ));
-            item.content &&
-              (item.content = item.content.replace(
-                /<img/gi,
-                '<img style="max-width:100%;"'
-              ));
-            item.ans = item.answerQuestion;
-            // }
-          });
-
-          this.questionList = res.data.data;
-
-          this.lastCount = this.questionList.length;
-          this.examRecord();
-          this.getCollectInfo(this.current);
-        });
-    },
-    /**
-     * @param {Object} e单选点击
-     */
-    radioSelect(optionsId, bindex) {
-      if (this.questionList[bindex].ques) return;
-      this.$set(this.questionList[bindex], "ques", optionsId);
-      this.isDoOver();
-
-      // 回答错误
-      if (this.questionList[bindex].ques != this.questionList[bindex].ans) {
-        this.$api
-          .examWrongRecord({
-            orderGoodsId: this.orderGoodsId,
-            examId: this.id,
-            goodsId: this.goodsId,
-            moduleExamId: this.moduleId || 0,
-            chapterExamId: this.chapterId || 0,
-            questionIds: [this.questionList[bindex].questionId],
-            recordId: this.recordId,
-          })
-          .then((res) => {});
-      } else {
-        // let question = this.wrongList.find(item => item.questionId == this.questionList[bindex].questionId);
-        // if(question) {
-        // 	this.$api.wrongRecordDelete({
-        // 		"examId": +this.id,
-        // 		"goodsId": +this.goodsId,
-        // 		"questionId": this.questionList[bindex].questionId,
-        // 	}).then(res => {
-        // 	})
-        // }
-      }
-    },
-
-    /**
-     * @param {Object} e案例单选点击
-     */
-    radioSelectChild(optionsId, ansIndex, bindex) {
-      if (this.questionList[bindex].ques[ansIndex]) return;
-      this.$set(this.questionList[bindex].ques, ansIndex, optionsId);
-      this.isDoOver();
-    },
-
-    /**
-     * @param {Object} 多选点击
-     */
-    checkboxSelect(optionsId, bindex, index) {
-      this.$set(
-        this.questionList[bindex].jsonStr[index],
-        "checked",
-        !this.questionList[bindex].jsonStr[index].checked
-      );
-    },
-
-    /**
-     * @param {Object} 案例多选点击
-     */
-    checkboxSelectChild(bindex, ansIndex, childIndex) {
-      this.$set(
-        this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex],
-        "checked",
-        !this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex]
-          .checked
-      );
-    },
-
-    isCheckboxChecked(arr) {
-      return arr.some((item) => {
-        if (item.checked) {
-          return true;
-        }
-      });
-    },
-
-    /**
-     * @param {Object} 多选确认
-     */
-    checkboxSubmit(bindex) {
-      if (this.questionList[bindex].ques) return;
-      let arr = [];
-      this.questionList[bindex].jsonStr.forEach((item) => {
-        if (item.checked) {
-          arr.push(item.optionsId);
-        }
-      });
-
-      if (!arr.length) {
-        uni.showToast({
-          title: "请选择答案",
-          icon: "none",
-        });
-        return;
-      }
-
-      this.$set(this.questionList[bindex], "ques", arr);
-      this.isDoOver();
-
-      let isWrong = this.questionList[bindex].ques.some(
-        (quesItem, quesIndex) => {
-          return (
-            this.questionList[bindex].ques[quesIndex] !=
-            this.questionList[bindex].ans[quesIndex]
-          );
-        }
-      );
-      // 回答错误
-      if (isWrong) {
-        this.$api
-          .examWrongRecord({
-            orderGoodsId: this.orderGoodsId,
-            examId: this.id,
-            goodsId: this.goodsId,
-            moduleExamId: this.moduleId || 0,
-            chapterExamId: this.chapterId || 0,
-            questionIds: [this.questionList[bindex].questionId],
-            recordId: this.recordId,
-          })
-          .then((res) => {});
-      } else {
-        // let question = this.wrongList.find(item => item.questionId == this.questionList[bindex].questionId);
-        // if(question) {
-        // 	this.$api.wrongRecordDelete({
-        // 		"examId": +this.id,
-        // 		"goodsId": +this.goodsId,
-        // 		"questionId": this.questionList[bindex].questionId,
-        // 	}).then(res => {
-        // 	})
-        // }
-      }
-    },
-
-    /**
-     * @param {Object} 案例多选确认
-     */
-    checkboxSubmitChild(bindex, ansIndex) {
-      if (this.questionList[bindex].ques[ansIndex]) return;
-      let arr = [];
-      this.questionList[bindex].jsonStr[ansIndex].optionsList.forEach(
-        (item) => {
-          if (item.checked) {
-            arr.push(item.optionsId);
-          }
-        }
-      );
-
-      if (!arr.length) {
-        uni.showToast({
-          title: "请选择答案",
-          icon: "none",
-        });
-        return;
-      }
-
-      this.$set(this.questionList[bindex].ques, ansIndex, arr);
-      this.isDoOver();
-    },
-
-    /**
-     * @param {Object} index
-     * @param {Object} bindex
-     * 判断题
-     */
-    judgeSelect(index, bindex) {
-      if (this.questionList[bindex].ques) return;
-      this.$set(this.questionList[bindex], "ques", index + "");
-      this.isDoOver();
-      // 回答错误
-      if (this.questionList[bindex].ques != this.questionList[bindex].ans) {
-        this.$api
-          .examWrongRecord({
-            orderGoodsId: this.orderGoodsId,
-            examId: this.id,
-            goodsId: this.goodsId,
-            moduleExamId: this.moduleId || 0,
-            chapterExamId: this.chapterId || 0,
-            questionIds: [this.questionList[bindex].questionId],
-            recordId: this.recordId,
-          })
-          .then((res) => {});
-      } else {
-        // let question = this.wrongList.find(item => item.questionId == this.questionList[bindex].questionId);
-        // if(question) {
-        // 	this.$api.wrongRecordDelete({
-        // 		"examId": +this.id,
-        // 		"goodsId": +this.goodsId,
-        // 		"questionId": this.questionList[bindex].questionId,
-        // 	}).then(res => {
-        // 	})
-        // }
-      }
-    },
-
-    /**
-     * @param {Object} ansindex
-     * @param {Object} childindex
-     * @param {Object} bindex
-     * 案例判断题
-     */
-    judgeSelectChild(ansindex, childindex, bindex) {
-      if (this.questionList[bindex].ques[ansindex]) return;
-      this.$set(this.questionList[bindex].ques, ansindex, childindex + "");
-      this.isDoOver();
-    },
-
-    openFooterTab() {
-      this.show = true;
-    },
-    changeIndex(index) {
-      this.current = index;
-    },
-
-    swiperChange(e) {
-      this.current = e.detail.current;
-      this.getCollectInfo(this.current);
-    },
-
-    /**
-     * @param {Object} current
-     * 获取收藏信息
-     */
-    getCollectInfo(current) {
-      this.$api
-        .getCollectInfo({
-          examId: this.id,
-          questionId: this.questionList[current].questionId,
-          goodsId: this.goodsId,
-          orderGoodsId: this.orderGoodsId,
-        })
-        .then((res) => {
-          if (res.data.code == 500) {
-            this.$set(this.collectList, current, false);
-          } else if (res.data.code == 200) {
-            this.$set(this.collectList, current, res.data.data);
-          }
-        });
-    },
-		showpopupsEvent(data) {
-			this.cgType = data;
-			this.showpopups = true;
-		},
-    pdsubmit() {
-      // if (this.bankType == 1) {
-      let ansCount = this.$refs.bankExam.questionOverNum(true); //已答题数
-      this.lastCount = this.questionList.length - ansCount; //统计未答完的题数
-      //没有答完
-      if (this.lastCount !== 0) {
-        this.cgType = 6;
-        this.showpopups = true;
-        return;
-      }
-      // }
-
-      if (this.bankType == 2) {
-        if (this.lastTime > 0) {
-          let lastTime = this.countdown(this.lastTime);
-          uni.showModal({
-            title: "提示",
-            content: `时间还剩余${lastTime},确定交卷吗?`,
-            confirmText: "交卷",
-            cancelText: "继续答题",
-            success: (res) => {
-              if (res.confirm) {
-                //确定
-                this.submit();
-              } else {
-                //取消
-              }
-            },
-          });
-          return;
-        }
-      }
-      this.submit();
-    },
-    /**
-     * 交卷
-     */
-    submit() {
-      let score = 0; //计算总分
-      let reportStatus = 0;
-      let number = 0; //做对的题目数量
-      let doQuestionNum = 0; //做过的题目数量
-      let allScore = 0; //总分
-      let passScore = 0;
-      let doWrongQuestionIds = []; //错题和未做题id(客观题)
-      let doQuestionIds = []; //做过的题目id
-      let lessQuestionNum = 0;
-      let rightQuestionIds = []; //做对的题目id
-      this.questionList.forEach((item, index) => {
-        passScore = item.passScore;
-        if (item.type == 1) {
-          //正确
-          if (item.ques == item.ans) {
-            item.scoreResult = item.score;
-            score += item.score;
-            number++;
-            rightQuestionIds.push(item.questionId);
-          } else {
-            //错误
-            item.scoreResult = 0;
-						if (item.ques) {
-							doWrongQuestionIds.push(item.questionId);
-						}
-          }
-          allScore += item.score;
-          if (item.ques) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        } else if (item.type == 2) {
-          let isRight =
-            item.ans &&
-            item.ans.every((quesItem, quesIndex) => {
-              if (item.ques) {
-                return item.ques[quesIndex] == item.ans[quesIndex];
-              } else {
-                return false;
-              }
-            });
-
-          if (isRight) {
-            score += item.score;
-            number++;
-            item.scoreResult = item.score;
-            rightQuestionIds.push(item.questionId);
-          } else {
-            let hasPart = false;
-            let checkboxScore = 1; //获取单题总分数
-            item.ques &&
-              item.ques.forEach((ques, quesIndex) => {
-                //选错一个全扣
-                if (item.ques) {
-                  if (item.ans.indexOf(item.ques[quesIndex]) == -1) {
-                    checkboxScore = 0;
-                  }
-                } else {
-                  checkboxScore = 0;
-                }
-              });
-
-            //没选错
-            if (checkboxScore) {
-              checkboxScore = 0;
-              item.ans.forEach((ans, quesIndex) => {
-                //漏选扣一部分,对n题给n X partScore 分
-                if (item.ques) {
-                  if (item.ques.indexOf(item.ans[quesIndex]) != -1) {
-                    checkboxScore += item.partScore;
-                    hasPart = true;
-                  }
-                } else {
-                  checkboxScore = 0;
-                }
-              });
-            }
-
-            if (!hasPart) {
-              //0分
-              item.scoreResult = 0;
-							if (item.ques) {
-								doWrongQuestionIds.push(item.questionId);
-							}
-            } else {
-              //部分分
-              // number++;
-							lessQuestionNum++
-              // doWrongQuestionIds.push(item.questionId);
-              item.scoreResult = checkboxScore;
-              score += checkboxScore;
-              // rightQuestionIds.push(item.questionId)
-            }
-          }
-          allScore += item.score;
-          if (item.ques && item.ques.length) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        } else if (item.type == 3) {
-          if (item.ques == item.ans) {
-            item.scoreResult = item.score;
-            score += item.score;
-            number++;
-            rightQuestionIds.push(item.questionId);
-          } else {
-            item.scoreResult = 0;
-						if (item.ques) {
-							doWrongQuestionIds.push(item.questionId);
-						}
-          }
-          allScore += item.score;
-          if (item.ques) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        } else if (item.type == 4) {
-          allScore += item.score;
-          if (item.ques && item.ques.length) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        } else if (item.type == 5) {
-          allScore += item.score;
-          if (item.ques && (item.ques.imageList.length || item.ques.text)) {
-            doQuestionNum++;
-            doQuestionIds.push(item.questionId);
-          }
-        }
-      });
-
-      //大于及格
-      if (score >= passScore) {
-        reportStatus = 1;
-      } else {
-        reportStatus = 0;
-      }
-
-      //交卷
-      this.$api
-        .examRecordEdit({
-          examId: this.id,
-          goodsId: this.goodsId,
-          reportStatus: reportStatus,
-          recordId: this.recordId,
-          rightQuestionNum: number,
-          orderGoodsId: this.orderGoodsId,
-          status: 1,
-					lessQuestionNum:lessQuestionNum,
-          moduleExamId: this.moduleId || 0,
-          chapterExamId: this.chapterId || 0,
-          doQuestionIds: doQuestionIds.join(","),
-          rightQuestionIds: rightQuestionIds.join(","),
-          doQuestionNum: doQuestionNum,
-          performance: score,
-          totalScore: allScore,
-          examTime: parseInt(this.allTimes),
-          doTime: parseInt(this.allTimes) - parseInt(this.lastTime),
-          historyExamJson: JSON.stringify(this.questionList),
-        })
-        .then((res) => {
-          this.isSubmit = true;
-          if (res.data.code == 200) {
-            uni.showToast({
-              title: "交卷成功",
-              duration: 1000,
-              icon: "none",
-            });
-
-            setTimeout(() => {
-              uni.redirectTo({
-                url:
-                  "/pages2/bank/question_report?goodsId=" +
-                  this.goodsId +
-                  "&chapterId=" +
-                  this.chapterId +
-                  "&moduleId=" +
-                  this.moduleId +
-                  "&examId=" +
-                  this.id +
-                  "&id=" +
-                  this.recordId +
-                  "&orderGoodsId=" +
-                  this.orderGoodsId,
-              });
-            }, 1000);
-          }
-        });
-
-      //错题集id提交(客观题)
-      this.$api
-        .examWrongRecord({
-          examId: this.id,
-          goodsId: this.goodsId,
-          orderGoodsId: this.orderGoodsId,
-          questionIds: doWrongQuestionIds,
-          recordId: this.recordId,
-        })
-        .then((res) => {});
-    },
-
-    /**
-     * @param {Object} state
-     * @param {Object} index
-     * 收藏
-     */
-    collect(state, index) {
-      if (!state) {
-        this.$api
-          .collectQuestion({
-            examId: this.id,
-            questionId: this.questionList[index].questionId,
-            goodsId: this.goodsId || "",
-            orderGoodsId: this.orderGoodsId,
-          })
-          .then((res) => {
-            if (res.data.code == 200) {
-              this.$set(this.collectList, index, true);
-              uni.showToast({
-                title: "收藏成功",
-                duration: 2000,
-                icon: "none",
-              });
-              this.getCollectInfo(index);
-            }
-          });
-      } else {
-        this.$api
-          .deleteCollectQuestion(this.collectList[index].collectQuestionId)
-          .then((res) => {
-            if (res.data.code == 200) {
-              this.$set(this.collectList, index, false);
-              uni.showToast({
-                title: "取消收藏成功",
-                duration: 2000,
-                icon: "none",
-              });
-            }
-          });
-      }
-      return;
-    },
-
-    /**
-     * @param {Object} imgIndex
-     * @param {Object} bankIndex
-     * 删除简答图片
-     */
-    deleteImg(imgIndex, bankIndex) {
-      this.questionList[bankIndex].ansText.imageList.splice(imgIndex, 1);
-    },
-
-    /**
-     * @param {Object} imgIndex
-     * @param {Object} bankIndex
-     * @param {Object} ansIndex
-     * 删除案例题简答图片
-     */
-    deleteImgChild(imgIndex, bankIndex, ansIndex) {
-      this.questionList[bankIndex].jsonStr[ansIndex].ansText.imageList.splice(
-        imgIndex,
-        1
-      );
-    },
-
-    /**
-     * @param {Object} bankindex
-     * 选择上传图片
-     */
-    chooseImg(bankindex) {
-      if (
-        this.questionList[bankindex] &&
-        this.questionList[bankindex].ansText &&
-        this.questionList[bankindex].ansText.imageList.length >= 4
-      ) {
-        uni.showToast({
-          icon: "none",
-          title: "最多选择4张",
-        });
-        return;
-      }
-      uni.chooseImage({
-        count: 1, //默认9
-        sizeType: ["compressed"], //可以指定是原图还是压缩图,默认二者都有
-        sourceType: ["album", "camera"], //从相册选择
-        success: (res) => {
-          let self = this;
-          // console.log(JSON.stringify(res.tempFilePaths));
-          let img = res.tempFilePaths[0];
-          uni.getImageInfo({
-            src: img,
-            success: async (res) => {
-              let canvasWidth = res.width; //图片原始长宽
-              let canvasHeight = res.height;
-              if (canvasWidth > 1000 || canvasHeight > 1000) {
-                uni.compressImage({
-                  src: img,
-                  quality: 75,
-                  width: "50%",
-                  height: "50%",
-                  success: async (rest) => {
-                    const dir = await self.uploadFile(rest.tempFilePath, 0);
-                    this.questionList[bankindex].ansText.imageList.push(dir);
-                  },
-                });
-              } else {
-                const dir = await self.uploadFile(img, 0);
-                this.questionList[bankindex].ansText.imageList.push(dir);
-              }
-            },
-          });
-        },
-      });
-    },
-
-    /**
-     * @param {Object} bankindex
-     * @param {Object} ansindex
-     * 案例题选择上传图片
-     */
-    chooseImgChild(bankindex, ansindex) {
-      if (
-        this.questionList[bankindex].jsonStr[ansindex] &&
-        this.questionList[bankindex].jsonStr[ansindex].ansText &&
-        this.questionList[bankindex].jsonStr[ansindex].ansText.imageList
-          .length >= 4
-      ) {
-        uni.showToast({
-          icon: "none",
-          title: "最多选择4张",
-        });
-        return;
-      }
-      uni.chooseImage({
-        count: 1, //默认9
-        sizeType: ["compressed"], //可以指定是原图还是压缩图,默认二者都有
-        sourceType: ["album", "camera"], //从相册选择
-        success: (res) => {
-          let self = this;
-          // console.log(JSON.stringify(res.tempFilePaths));
-          let img = res.tempFilePaths[0];
-          uni.getImageInfo({
-            src: img,
-            success: async (res) => {
-              let canvasWidth = res.width; //图片原始长宽
-              let canvasHeight = res.height;
-              if (canvasWidth > 1000 || canvasHeight > 1000) {
-                uni.compressImage({
-                  src: img,
-                  quality: 75,
-                  width: "50%",
-                  height: "50%",
-                  success: async (rest) => {
-                    const dir = await self.uploadFile(rest.tempFilePath, 0);
-                    this.questionList[bankindex].jsonStr[
-                      ansindex
-                    ].ansText.imageList.push(dir);
-                  },
-                });
-              } else {
-                const dir = await self.uploadFile(img, 0);
-                this.questionList[bankindex].jsonStr[
-                  ansindex
-                ].ansText.imageList.push(dir);
-              }
-            },
-          });
-        },
-      });
-    },
-
-    uploadFile(options, int) {
-      var self = this;
-      return new Promise((resolve, reject) => {
-        var data = {
-          orderGoodsId: this.orderGoodsId,
-          imageStatus: int,
-        };
-        self.$api.aliyunpolicy(data).then((res) => {
-          console.log(res.data, 6);
-          if (res.data.code != 200) {
-            self.$method.showToast("签名错误" + JSON.stringify(res.data));
-            return;
-          }
-          var ossToken = res.data.data.resultContent;
-          if (ossToken.host == null || ossToken.host == undefined) {
-            self.$method.showToast("上传路径报错" + JSON.stringify(res.data));
-            return;
-          }
-          uni.uploadFile({
-            url: ossToken.host,
-            name: "file",
-            filePath: options,
-            fileType: "image",
-            header: {
-              AuthorizationToken: "WX " + uni.getStorageSync("token"),
-            },
-            formData: {
-              key: ossToken.dir,
-              OSSAccessKeyId: ossToken.accessid,
-              policy: ossToken.policy,
-              Signature: ossToken.signature,
-              callback: ossToken.callback,
-              success_action_status: 200,
-            },
-            success: (result) => {
-              // if (result.statusCode === 200) {
-                resolve(ossToken.dir);
-              // } else {
-              //   uni.showToast({
-              //     title: "上传失败",
-              //     icon: "none",
-              //   });
-              //   return;
-              // }
-            },
-            fail: (error) => {
-              uni.showToast({
-                title: "上传接口报错" + error,
-                icon: "none",
-              });
-              return;
-            },
-          });
-        });
-      });
-    },
-    /**
-     * @param {Object} type
-     * @param {Object} bankindex
-     * 简答题答案确认
-     */
-    submitAns(bankindex) {
-      console.log(this.questionList[bankindex]);
-      if (
-        !this.questionList[bankindex].ansText.text &&
-        !this.questionList[bankindex].ansText.imageList.length
-      ) {
-        uni.showToast({
-          title: "请输入内容或上传图片",
-          duration: 2000,
-          icon: "none",
-        });
-        return;
-      }
-
-      this.$set(this.questionList[bankindex], "ques", {
-        imageList: this.questionList[bankindex].ansText.imageList || [],
-        text: this.questionList[bankindex].ansText.text || "",
-      });
-      this.isDoOver();
-    },
-
-    /**
-     * @param {Object} bankindex
-     * @param {Object} ansindex
-     * 案例题简答答案确认
-     */
-    submitAnsChild(bankindex, ansindex) {
-      if (
-        !this.questionList[bankindex].jsonStr[ansindex].ansText.text &&
-        !this.questionList[bankindex].jsonStr[ansindex].ansText.imageList.length
-      ) {
-        uni.showToast({
-          title: "请输入内容或上传图片",
-          duration: 2000,
-          icon: "none",
-        });
-        return;
-      }
-
-      this.$set(this.questionList[bankindex].ques, ansindex, {
-        imageList:
-          this.questionList[bankindex].jsonStr[ansindex].ansText.imageList ||
-          [],
-        text: this.questionList[bankindex].jsonStr[ansindex].ansText.text || "",
-      });
-      this.isDoOver();
-    },
-
-    isRight(item, index) {
-      //单选
-      if (this.questionList[index].ques) {
-        if (item.type == 1) {
-          return this.questionList[index].ques == this.questionList[index].ans;
-          //多选
-        } else if (item.type == 2) {
-          //每一项都相等
-          return this.questionList[index].ans.every((item, i) => {
-            return item == this.questionList[index].ques[i];
-          });
-          //判断
-        } else if (item.type == 3) {
-          return this.questionList[index].ques == this.questionList[index].ans;
-          // } else if (item.type == 5) {
-          // 	if(this.questionList[index].ques.text){
-          // 		return true
-          // 	}else{
-          // 		return false
-          // 	}
-        } else {
-          return false;
-        }
-      } else {
-        return false;
-      }
-    },
-
-    right(bankIndex, ansIndex, option) {
-      if (
-        this.questionList[bankIndex].ques[ansIndex] &&
-        this.questionList[bankIndex].ans[ansIndex]
-      ) {
-        if (
-          this.questionList[bankIndex].ques[ansIndex].indexOf(
-            option.optionsId
-          ) != -1 ||
-          this.questionList[bankIndex].ans[ansIndex].indexOf(
-            option.optionsId
-          ) != -1
-        ) {
-          return true;
-        } else {
-          return false;
-        }
-      } else {
-        return false;
-      }
-    },
-
-    wrong(bankIndex, ansIndex, option) {
-      if (
-        this.questionList[bankIndex].ques[ansIndex] &&
-        this.questionList[bankIndex].ans[ansIndex]
-      ) {
-        if (
-          this.questionList[bankIndex].ques[ansIndex].indexOf(
-            option.optionsId
-          ) != -1 &&
-          this.questionList[bankIndex].ans[ansIndex].indexOf(
-            option.optionsId
-          ) == -1
-        ) {
-          return true;
-        } else {
-          return false;
-        }
-      } else {
-        return false;
-      }
-    },
-
-    isWrong(item, index) {
-      if (this.questionList[index].ques) {
-        //单选
-        if (item.type == 1) {
-          return this.questionList[index].ques != this.questionList[index].ans;
-          //多选
-        } else if (item.type == 2) {
-          //每一项都相等
-          return this.questionList[index].ques.some((item, i) => {
-            return this.questionList[index].ans.indexOf(item) == -1;
-          });
-          //判断
-        } else if (item.type == 3) {
-          return this.questionList[index].ques != this.questionList[index].ans;
-        } else {
-          return false;
-        }
-      } else {
-        return false;
-      }
-    },
-    isPart(item, index) {
-      if (this.questionList[index].ques) {
-        if (item.type == 2) {
-          let isWrong = this.questionList[index].ques.some((item, i) => {
-            return this.questionList[index].ans.indexOf(item) == -1;
-          });
-
-          let isRight = this.questionList[index].ans.every((item, i) => {
-            return item == this.questionList[index].ques[i];
-          });
-
-          if (!isRight && !isWrong) {
-            return true;
-          }
-        }
-      } else {
-        return false;
-      }
-    },
-    isOver(item, index) {
-      if (this.questionList[index].ques) {
-        if (item.type == 4) {
-          //案例题
-          let isOver = item.jsonStr.every((jsonItem, indexs) => {
-            if (
-              jsonItem.type == 1 ||
-              jsonItem.type == 2 ||
-              jsonItem.type == 3
-            ) {
-              if (item.ques[indexs]) {
-                return true;
-              } else {
-                return false;
-              }
-            } else if (jsonItem.type == 5) {
-              if (
-                item.ques[indexs] &&
-                (item.ques[indexs].text || item.ques[indexs].imageList.length)
-              ) {
-                console.log("chil");
-                return true;
-              } else {
-                return false;
-              }
-            }
-          });
-
-          if (isOver) {
-            return true;
-          } else {
-            return false;
-          }
-        } else if (item.type == 5) {
-          //简答题
-          //每一项都相等
-          if (item.ques && (item.ques.imageList.length || item.ques.text)) {
-            return true;
-          }
-          //判断
-        } else {
-          return false;
-        }
-      } else {
-        return false;
-      }
-    },
-
-    tabSelect(index, bankindex) {
-      this.$set(this.questionList[bankindex], "current", index);
-    },
-
-    showPhoto(contentStr) {
-      if (contentStr && typeof contentStr == "string") {
-        let reg = /<img[^>]*src[=\'\"\s]+([^\'\"]*)[\'\"]?[^>]*>/gi;
-        let strArr = contentStr.match(reg);
-        strArr.forEach((str, index) => {
-          strArr[index] = str.replace(reg, "$1");
-        });
-
-        // 预览图片
-        uni.previewImage({
-          urls: strArr,
-          longPressActions: {
-            itemList: ["发送给朋友", "保存图片", "收藏"],
-            success: function (data) {
-              console.log(
-                "选中了第" +
-                  (data.tapIndex + 1) +
-                  "个按钮,第" +
-                  (data.index + 1) +
-                  "张图片"
-              );
-            },
-            fail: function (err) {
-              console.log(err.errMsg);
-            },
-          },
-        });
-      }
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.questionBank {
-  width: 100%;
-  height: 100vh;
-  display: flex;
-  flex-direction: column;
-}
-.swiper {
-  width: 100%;
-  flex: 1;
-}
-.lisSty {
-  margin-bottom: 16rpx;
-  display: flex;
-  align-items: center;
-
-  .flex_auto {
-    flex: 1;
-  }
-}
-.activeTI {
-  vertical-align: middle;
-  display: inline-block;
-  border: 1rpx solid #eee;
-  border-radius: 50rpx;
-  height: 48rpx;
-  line-height: 46rpx;
-  text-align: center;
-  width: 48rpx;
-  margin-right: 15rpx;
-  color: #666;
-  font-size: 30rpx;
-
-  &.right {
-    color: #fff;
-    background: #36c75a;
-  }
-
-  &.wrong {
-    color: #fff;
-    background: #ff3b30;
-  }
-
-  &.checked {
-    color: #fff;
-    background: #007aff;
-  }
-}
-
-.submit_checkbox {
-  position: fixed;
-  left: 0;
-  right: 0;
-  bottom: 120rpx;
-  margin: 20rpx auto;
-  width: 526rpx;
-  height: 80rpx;
-  background: rgba(0, 122, 255, 1);
-  color: #fff;
-  text-align: center;
-  line-height: 80rpx;
-  font-size: 30rpx;
-  border-radius: 40rpx;
-
-  &.disabled {
-    opacity: 0.6;
-  }
-}
-.titles {
-  overflow: hidden;
-  margin-bottom: 24rpx;
-}
-.titBox {
-  padding: 41rpx 25rpx 24rpx 25rpx;
-}
-
-.titBox_title {
-  padding: 21rpx;
-}
-
-.tabs {
-  margin: 10rpx;
-  display: flex;
-  .tab {
-    margin: 0 4rpx;
-    padding: 10rpx 13rpx;
-    text-align: center;
-    color: #007aff;
-    font-size: 28rpx;
-    border-radius: 16rpx;
-    background: #fff;
-
-    &.current {
-      color: #fff;
-      background: #007aff;
-    }
-  }
-}
-
-.ans {
-  margin: 8rpx 8rpx 8rpx;
-
-  .ans_input {
-    border-radius: 16rpx;
-    background: #fff;
-    .top {
-      border-bottom: 1rpx solid #eeeeee;
-      padding: 16rpx;
-      display: flex;
-      align-items: center;
-
-      .icon {
-        margin-right: 20rpx;
-        width: 40rpx;
-        height: 38rpx;
-      }
-
-      .progress {
-        flex: 1;
-      }
-
-      .submit {
-        width: 168rpx;
-        height: 48rpx;
-        line-height: 48rpx;
-        text-align: center;
-        color: #fff;
-        font-size: 30rpx;
-        background: #007aff;
-        border-radius: 24rpx;
-
-        &.disabled {
-          opacity: 0.6;
-        }
-      }
-    }
-
-    .textarea {
-      textarea {
-        width: 100%;
-        height: 287rpx;
-        padding: 10rpx;
-      }
-    }
-
-    .imgs {
-      overflow: hidden;
-      display: flex;
-      width: 100%;
-      .img {
-        width: 104rpx;
-        height: 104rpx;
-        border-radius: 8rpx;
-        position: relative;
-        margin: 20rpx;
-
-        text {
-          position: absolute;
-          right: -15rpx;
-          top: -15rpx;
-          width: 30rpx;
-          height: 30rpx;
-          text-align: center;
-          line-height: 30rpx;
-          color: #fff;
-          background: #ff3b30;
-          border-radius: 50%;
-        }
-
-        image {
-          width: 100%;
-          height: 100%;
-        }
-      }
-    }
-  }
-
-  .ans_submit {
-    padding: 16rpx;
-    border-radius: 16rpx;
-    background: #fff;
-
-    .imgs {
-      overflow: hidden;
-      display: flex;
-      width: 100%;
-      .img {
-        width: 104rpx;
-        height: 104rpx;
-        border-radius: 8rpx;
-        position: relative;
-        margin: 20rpx;
-
-        image {
-          width: 100%;
-          height: 100%;
-        }
-      }
-    }
-  }
-}
-.leftLetters {
-  display: flex;
-  align-items: center;
-  width: 220rpx;
-  .btnType {
-    padding: 5rpx 10rpx;
-    border: 1rpx solid #007aff;
-    border-radius: 10rpx;
-    background-color: rgba(0, 122, 255, 0.1);
-    font-size: 28rpx;
-    color: #007aff;
-    margin-right: 15rpx;
-  }
-}
-.firstLetter {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-  margin-bottom: 30rpx;
-}
-.popupView {
-  height: 100%;
-  padding-bottom: 100rpx;
-  .popupTops {
-    height: 77rpx;
-    border-bottom: 1rpx solid #eee;
-    text-align: center;
-    line-height: 77rpx;
-    font-size: 24rpx;
-    color: #999;
-    position: relative;
-    .topIcon {
-      position: absolute;
-      top: 10rpx;
-      left: 50%;
-      transform: translateX(-50%);
-      width: 80rpx;
-      height: 8rpx;
-      background-color: #999;
-      border-radius: 4rpx;
-    }
-  }
-  .popupContent {
-  }
-}
-.pageContent {
-  position: relative;
-  background-color: #eaeef1;
-  height: 100%;
-  padding-top: 8rpx;
-  padding-bottom: 100rpx;
-  overflow-y: scroll;
-}
-.pad_8 {
-  background-color: #fff;
-  margin: 0rpx 8rpx 8rpx;
-  border-radius: 16rpx;
-
-  &.no-margin {
-    margin-top: -16rpx;
-    border-radius: 0 0 16rpx 16rpx;
-  }
-}
-.answer {
-  height: 80rpx;
-  line-height: 80rpx;
-  padding: 0rpx 24rpx;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  color: #666;
-  font-size: 30rpx;
-}
-.footer_btn {
-  background-color: #fff;
-  z-index: 10078;
-  position: fixed;
-  bottom: 0rpx;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  width: 100%;
-  height: 98rpx;
-  padding: 0rpx 38rpx;
-  border-top: 1rpx solid #eee;
-
-  .flex_center {
-    flex: 1;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    flex-direction: column;
-    margin: 0 200rpx;
-    font-size: 24rpx;
-    color: #999999;
-
-    .up-icon {
-      margin-bottom: 18rpx;
-      width: 100%;
-      display: flex;
-      justify-content: center;
-      image {
-        width: 58rpx;
-        height: 21rpx;
-      }
-    }
-  }
-  .collect {
-    visibility: hidden;
-    width: 100rpx;
-
-    &.show {
-      visibility: visible;
-    }
-
-    > view {
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-
-      image {
-        width: 32rpx;
-        height: 32rpx;
-        margin-bottom: 6rpx;
-      }
-
-      view {
-        font-size: 24rpx;
-        color: #999999;
-      }
-    }
-  }
-}
-.boxSty {
-  padding: 44rpx 41rpx 0rpx;
-}
-.liListSty {
-  border: 1rpx solid #eeeeee;
-  width: 88rpx;
-  height: 88rpx;
-  border-radius: 32rpx;
-  text-align: center;
-  line-height: 88rpx;
-  color: #333;
-  font-size: 32rpx;
-  float: left;
-  margin: 20rpx 23rpx;
-
-  &.isRight {
-    border: 1rpx solid #eeeeee;
-    color: #fff;
-    background: #36c75a;
-  }
-
-  &.isWrong {
-    border: 1rpx solid #eeeeee;
-    color: #fff;
-    background: #ff3b30;
-  }
-
-  &.isPart {
-    border: 1rpx solid #eeeeee;
-    color: #fff;
-    background: #FFC53D;
-  }
-
-  &.isOver {
-    border: 1rpx solid #eeeeee;
-    color: #fff;
-    background: blue;
-  }
-}
-.answerInfos {
-  padding: 25rpx 25rpx 25rpx 23rpx;
-}
-.answerTitle {
-  margin-bottom: 28rpx;
-  color: #666;
-  font-size: 30rpx;
-}
-.answerContent {
-  font-size: 30rpx;
-  color: #666;
-}
-
-.textChild {
-  display: inline-block;
-  vertical-align: middle;
-}
-
-.dialog {
-  position: fixed;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  background-color: rgba(0, 0, 0, 0.8);
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  z-index: 20000;
-
-  .pointer {
-    width: 338rpx;
-    height: 240rpx;
-  }
-
-  .text {
-    font-size: 32rpx;
-    color: #ffffff;
-    text-align: center;
-  }
-
-  .btn {
-    width: 242rpx;
-    height: 82rpx;
-    border: 2rpx solid #ffffff;
-    border-radius: 16rpx;
-    text-align: center;
-    line-height: 82rpx;
-    margin: 41rpx auto;
-    color: #fff;
-    font-size: 32rpx;
-  }
-}
-
-.dialog-arrow {
-  padding-top: 124rpx;
-  position: fixed;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  background-color: rgba(0, 0, 0, 0.8);
-  z-index: 20000;
-
-  .pointer {
-    margin-left: 87rpx;
-    display: block;
-    width: 95rpx;
-    height: 98rpx;
-  }
-
-  .text {
-    padding-left: 177rpx;
-    font-size: 32rpx;
-    color: #ffffff;
-  }
-
-  .btn {
-    width: 242rpx;
-    height: 82rpx;
-    border: 2rpx solid #ffffff;
-    border-radius: 16rpx;
-    text-align: center;
-    line-height: 82rpx;
-    margin: 500rpx auto 0;
-    color: #fff;
-    font-size: 32rpx;
-  }
-}
-
-.dialog_wrap {
-  position: fixed;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 9999999999;
-
-  .bg {
-    background: rgba(0, 0, 0, 0.3);
-    position: absolute;
-    left: 0;
-    top: 0;
-    width: 100%;
-    height: 100%;
-  }
-
-  .dialog {
-    position: absolute;
-    left: 50%;
-    top: 50%;
-    transform: translate3D(-50%, -50%, 0);
-    width: 640rpx;
-    height: 439rpx;
-    background: #ffffff;
-    border-radius: 24rpx;
-
-    .title {
-      font-size: 30rpx;
-      font-weight: bold;
-      color: #333333;
-      line-height: 48rpx;
-      text-align: center;
-      margin-top: 40rpx;
-    }
-
-    .content {
-      margin: 35rpx 35rpx 0;
-      font-size: 30rpx;
-      color: #666666;
-      line-height: 48rpx;
-    }
-
-    .btns {
-      margin-top: 35rpx;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-
-      .btn {
-        width: 200rpx;
-        height: 80rpx;
-        line-height: 80rpx;
-        text-align: center;
-        background: #f5f5f5;
-        border-radius: 40rpx;
-        font-size: 30rpx;
-        color: rgba(0, 122, 255, 1);
-        background: #f5f5f5;
-        margin: 0 20rpx;
-
-        &.active {
-          color: #f5f5f5;
-          background: rgba(0, 122, 255, 1);
-        }
-      }
-    }
-  }
-}
-.popboxs {
-  width: 100%;
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-}
-.classTops {
-  flex-shrink: 0;
-  padding: 39rpx 0rpx 4rpx;
-  font-weight: bold;
-  color: #333;
-  font-size: 30rpx;
-}
-.textStys {
-  width: 100%;
-  flex: 1;
-  padding: 36rpx;
-}
-.classFootsty {
-  flex-shrink: 0;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  padding: 10rpx 0rpx 40rpx;
-  .btnsty {
-    width: 200rpx;
-    height: 80rpx;
-    border-radius: 40rpx;
-    font-weight: bold;
-    font-size: 30rpx;
-    text-align: center;
-    line-height: 80rpx;
-  }
-  .btns1 {
-    background-color: #f5f5f5;
-    color: #007aff;
-  }
-  .btns2 {
-    margin-left: 40rpx;
-    background-color: #007aff;
-    color: #ffffff;
-  }
-}
-</style>

BIN
static/index/official.png


BIN
static/index/share.png


BIN
static/index/shopcar.png


BIN
static/learn/no_course.png