Tang пре 3 година
родитељ
комит
5c5b1ee5a0

+ 0 - 2084
src/components/tableList copy.vue

@@ -1,2084 +0,0 @@
-<template>
-  <div id="tableList">
-    <div class="headerNavTool">
-      <div class="leftIndexText">
-        {{ navText.title }} <strong>{{ navText.index }}</strong>
-        {{ navText.ch }}
-      </div>
-      <div class="rightBtnBox">
-        <slot name="customize"></slot>
-        <el-button
-          size="medium"
-          type="primary"
-          @click="addClick"
-          v-if="!navText.addHide"
-          >添加</el-button
-        >
-        <el-button
-          v-if="navText.backFatherBtn.status"
-          size="medium"
-          type="warning"
-          @click="backFather"
-          >{{ navText.backFatherBtn.title }}</el-button
-        >
-        <el-popover
-          popper-class="slotPopper"
-          placement="bottom-end"
-          trigger="click"
-        >
-          <div class="popoverDis">
-            <div class="checkboxHeader">
-              <el-checkbox
-                :indeterminate="isIndeterminate"
-                v-model="checkAll"
-                @change="handleCheckAllChange"
-                >列展示</el-checkbox
-              >
-              <div class="initbtns" @click="initVue">重置</div>
-            </div>
-
-            <div
-              style="height: 1px; width: 100%; background-color: #eaeefb"
-            ></div>
-            <el-checkbox-group
-              class="checkboxGroup"
-              v-model="checkedCities"
-              @change="handleCheckedCitiesChange"
-            >
-              <div
-                class="checkboxchild"
-                v-for="(item, index) in cities"
-                :key="index"
-              >
-                <el-checkbox
-                  :label="item"
-                  @change="checkboxChange(item, $event)"
-                  >{{ item }}</el-checkbox
-                >
-                <div class="icon-right">
-                  <i class="el-icon-upload2" @click="upMove(item, index)"></i>
-                  <i
-                    class="el-icon-download"
-                    @click="downMove(item, index)"
-                  ></i>
-                </div>
-              </div>
-            </el-checkbox-group>
-          </div>
-          <el-button style="margin-left: 10px" size="medium" slot="reference"
-            >自定义列</el-button
-          >
-        </el-popover>
-      </div>
-    </div>
-    <el-table
-      :data="tableData"
-      stripe
-      style="width: 100%"
-      @select-all="selectAll"
-      @select="select"
-      :row-key="rowKey"
-      :load="load"
-      :cell-style="timeStyle"
-      lazy
-      :border="true"
-      ref="pagerset"
-      v-loading="loading"
-      :header-cell-style="{
-        'background-color': '#eee',
-        color: '#333',
-        fontSize: '14px',
-      }"
-      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
-    >
-      <el-table-column
-        v-if="navText.choice"
-        align="center"
-        type="selection"
-        width="55"
-        header-align="center"
-        fixed="left"
-      >
-      </el-table-column>
-      <!-- v-if="navText.num" ↓ -->
-      <el-table-column
-        type="index"
-        label="序号"
-        width="70"
-        align="center"
-        header-align="center"
-      >
-      </el-table-column>
-      <template v-for="(item, index) in tableSet">
-        <el-table-column
-          v-if="item.hidden"
-          :width="item.width"
-          :key="index"
-          :label="item.label"
-          align="center"
-          :sortable="item.prop === 'sort' || item.sort"
-          :sort-method="sortMethods"
-          :show-overflow-tooltip="item.showTooltip ? false : true"
-          header-align="center"
-          :prop="item.prop"
-          sort-by="sort"
-        >
-          <template slot-scope="scope">
-            <div class="imgboxsq" v-if="item.scope === 'img'">
-              <el-image
-                class="el_images"
-                lazy
-                :src="$methodsTools.splitImgHost(scope.row[item.prop])"
-                style="height: 100%"
-                :preview-src-list="[
-                  $methodsTools.splitImgHost(scope.row[item.prop]),
-                ]"
-                alt="加载失败..."
-              >
-              </el-image>
-            </div>
-            <span v-else-if="item.scope === 'status'">{{
-              Number(scope.row[item.prop]) === 1
-                ? "启用"
-                : Number(scope.row[item.prop]) === 0
-                ? "关闭"
-                : Number(scope.row[item.prop]) === -1
-                ? "已删除"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'hasTime'">{{
-              Number(scope.row[item.prop]) === 1
-                ? "有效"
-                : Number(scope.row[item.prop]) === 0
-                ? "无效"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'statusZpFB'">{{
-              Number(scope.row[item.prop]) === 1
-                ? "未发布"
-                : Number(scope.row[item.prop]) === 2
-                ? "已发布"
-                : Number(scope.row[item.prop]) === 0
-                ? "停用"
-                : Number(scope.row[item.prop]) === -1
-                ? "已删除"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'reStatus'">{{
-              Number(scope.row[item.prop]) === 1
-                ? "定时发布"
-                : Number(scope.row[item.prop]) === 0
-                ? "手动发布"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'fabStatus'">{{
-              Number(scope.row[item.prop]) === 1
-                ? "发布"
-                : Number(scope.row[item.prop]) === 0
-                ? "未发布"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'sectionTypes'">{{
-              Number(scope.row[item.prop]) === 2
-                ? "录播"
-                : Number(scope.row[item.prop]) === 1
-                ? "直播"
-                : Number(scope.row[item.prop]) === 3
-                ? "回放"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'getShops'">
-              {{
-                scope.row["goodsCode"] +
-                "-" +
-                scope.row["goodsName"] +
-                " (" +
-                scope.row["educationName"] +
-                "-" +
-                scope.row["projectName"] +
-                "-" +
-                scope.row["businessName"] +
-                ")"
-              }}
-            </span>
-            <span
-              v-else-if="
-                item.scope === 'treeWatch' &&
-                (scope.row['goodsType'] === 1 || scope.row['goodsType'] === 2)
-              "
-              style="color: blue"
-              @click="
-                scope.row['goodsType'] === 1
-                  ? diavios(scope.row['goodsId'])
-                  : diaviosTK(scope.row['goodsId'])
-              "
-              >结构树视图</span
-            >
-            <span v-else-if="item.scope === 'leftCh'">
-              {{ item.ch }}{{ scope.row[item.prop] }}
-            </span>
-            <span
-              v-else-if="item.scope === 'goodsIds'"
-              class="editInfoSty"
-              @click="editInfo(scope.row, 3)"
-            >
-              {{
-                !scope.row[item.prop]
-                  ? 0
-                  : scope.row[item.prop].split(",").map(Number).length
-              }}
-            </span>
-            <span
-              v-else-if="item.scope === 'jumpPeolpe'"
-              class="editInfoSty"
-              @click="jumpPeolpe(scope.row, item.type)"
-            >
-            {{scope.row[item.prop]}}
-            </span>
-            <span v-else-if="item.scope === 'sectionTypesTTT'">{{
-              Number(scope.row[item.prop]) === 1
-                ? "录播"
-                : Number(scope.row[item.prop]) === 2
-                ? "直播"
-                : Number(scope.row[item.prop]) === 3
-                ? "回放"
-                : ""
-            }}</span>
-            <span v-else-if="item.scope === 'ggType'">{{
-              Number(scope.row[item.prop]) === 1
-                ? "学习中心"
-                : Number(scope.row[item.prop]) === 2
-                ? "求职中心"
-                : "未知"
-            }}</span>
-            <ul v-else-if="item.scope === 'mapTypesTeacher'" class="ulAuto">
-              <template v-for="(itm, inds) in scope.row[item.prop]">
-                <li :key="inds" v-if="inds < 2">
-                  {{ itm.educationName + "-" + itm.projectName
-                  }}{{ inds === 0 ? ", " : "" }}
-                </li>
-              </template>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
-                    {{ inds + 1 }}、
-                    {{ itm.educationName + "-" + itm.projectName }}
-                  </li>
-                </ul>
-                <el-button
-                  slot="reference"
-                  style="margin-left: 6px"
-                  type="text"
-                  v-if="scope.row[item.prop].length > 2"
-                  size="mini"
-                  >更多</el-button
-                >
-              </el-popover>
-            </ul>
-            <span v-else-if="item.scope === 'goodsInfos'">
-              {{ scope.row[item.prop1] + "-" + scope.row[item.prop2] + "-"
-              }}<span style="color: red">¥{{ scope.row[item.prop3] }}</span>
-            </span>
-            <div v-else-if="item.scope === 'applyInfos'">
-              <div
-                v-for="(items, indexs) in scope.row[item.prop]"
-                :key="indexs"
-              >
-                <div>{{ items.siteAddress }}</div>
-                <div
-                  v-for="(itemsxs, indexsxs) in items.examApplySiteTime"
-                  :key="indexsxs"
-                >
-                  <div v-for="(ks, ds) in itemsxs.siteTime" :key="ds">
-                    {{ $methodsTools.onlyForma(itemsxs.examTime, false) }}
-                    {{ ks.startTime.replace("-", ":") }}-{{
-                      ks.endTime.replace("-", ":")
-                    }}
-                  </div>
-                </div>
-              </div>
-            </div>
-            <ul v-else-if="item.scope === 'moreGoodsList'" class="ulAuto">
-              <template v-for="(itm, inds) in scope.row[item.prop]">
-                <li :key="inds" v-if="inds < 1">
-                  {{ itm[item.prop1] + "-" + itm[item.prop2] + "-" }}
-                  <span style="color: red">¥{{ itm[item.prop3] }}</span>
-                </li>
-              </template>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
-                    {{ inds + 1 }}、
-                    {{ itm[item.prop1] + "-" + itm[item.prop2] + "-" }}
-                    <span style="color: red">¥{{ itm[item.prop3] }}</span>
-                  </li>
-                </ul>
-                <el-button
-                  slot="reference"
-                  style="margin-left: 6px"
-                  type="text"
-                  v-if="scope.row[item.prop].length >= 2"
-                  size="mini"
-                  >更多</el-button
-                >
-              </el-popover>
-            </ul>
-            <ul v-else-if="item.scope === 'mapTypes'" class="ulAuto">
-              <template v-for="(itm, inds) in scope.row[item.prop]">
-                <li :key="inds" v-if="inds === 0">
-                  {{ itm.educationName + "-" + itm.projectName }}
-                </li>
-              </template>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
-                    {{ inds + 1 }}、
-                    {{ itm.educationName + "-" + itm.projectName }}
-                  </li>
-                </ul>
-                <el-button
-                  slot="reference"
-                  style="margin-left: 6px"
-                  type="text"
-                  v-if="scope.row[item.prop].length > 1"
-                  size="mini"
-                  >更多</el-button
-                >
-              </el-popover>
-            </ul>
-            <ul v-else-if="item.scope === 'mapTypesBUS'" class="ulAuto">
-              <template v-for="(itm, inds) in scope.row[item.prop]">
-                <li :key="inds" v-if="inds === 0">
-                  {{
-                    itm.educationName +
-                    "-" +
-                    itm.projectName +
-                    "-" +
-                    itm.businessName
-                  }}
-                </li>
-              </template>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
-                    {{ inds + 1 }}、
-                    {{
-                      itm.educationName +
-                      "-" +
-                      itm.projectName +
-                      "-" +
-                      itm.businessName
-                    }}
-                  </li>
-                </ul>
-                <el-button
-                  slot="reference"
-                  style="margin-left: 6px"
-                  type="text"
-                  v-if="scope.row[item.prop].length > 1"
-                  size="mini"
-                  >更多</el-button
-                >
-              </el-popover>
-            </ul>
-            <div v-else-if="item.scope === 'splits'" class="dis_sdt">
-              <ul>
-                <template v-for="(itm, inds) in scope.row[item.prop]">
-                  <li :key="inds" v-if="inds < 2">
-                    {{ itm }}
-                  </li>
-                </template>
-              </ul>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
-                    {{ inds + 1 }}、
-                    {{ itm }}
-                  </li>
-                </ul>
-                <el-button
-                  slot="reference"
-                  style="margin-left: 6px"
-                  type="text"
-                  v-if="scope.row[item.prop].length > 2"
-                  size="mini"
-                  >更多</el-button
-                >
-              </el-popover>
-            </div>
-
-            <ul v-else-if="item.scope === 'classNums'" class="ulAutos">
-              <li
-                style="font-size: 12px; cursor: pointer; color: #1890ff"
-                v-if="!scope.row[item.prop].length"
-              >
-                班级({{ scope.row[item.prop].length }})
-              </li>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li
-                    v-for="(itm, inds) in scope.row[item.prop]"
-                    :key="inds"
-                    class="jumpClass"
-                    @click="jumpClass(itm)"
-                  >
-                    {{ inds + 1 }}、
-                    {{ itm.gradeName }}
-                  </li>
-                </ul>
-                <el-button
-                  v-if="scope.row[item.prop].length"
-                  slot="reference"
-                  type="text"
-                  size="mini"
-                  >班级({{ scope.row[item.prop].length }})</el-button
-                >
-              </el-popover>
-            </ul>
-            <div v-else-if="item.scope === 'goodsList'" class="ulAuto">
-              <ul>
-                <template v-for="(itm, inds) in scope.row[item.prop]">
-                  <li :key="inds" v-if="inds === 0">
-                    {{ itm.goodsName }}
-                  </li>
-                </template>
-              </ul>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
-                    {{ inds + 1 }}、
-                    {{ itm.goodsName }}
-                  </li>
-                </ul>
-                <el-button
-                  slot="reference"
-                  style="margin-left: 6px"
-                  type="text"
-                  v-if="scope.row[item.prop].length > 1"
-                  size="mini"
-                  >更多</el-button
-                >
-              </el-popover>
-            </div>
-            <div v-else-if="item.scope === 'aboutChapter'" class="ulAuto">
-              <ul>
-                <template v-for="(itm, inds) in scope.row[item.prop]">
-                  <li
-                    class="jumpStys"
-                    :key="inds"
-                    v-if="inds === 0"
-                    @click="jumpPages(itm, item.int)"
-                  >
-                    {{ itm[item.prop1] }}
-                  </li>
-                </template>
-              </ul>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li
-                    v-for="(itm, inds) in scope.row[item.prop]"
-                    :key="inds"
-                    class="jumpStys"
-                    @click="jumpPages(itm, item.int)"
-                  >
-                    {{ inds + 1 }}、
-                    {{ itm[item.prop1] }}
-                  </li>
-                </ul>
-                <el-button
-                  slot="reference"
-                  style="margin-left: 6px"
-                  type="text"
-                  v-if="scope.row[item.prop].length > 1"
-                  size="mini"
-                  >更多</el-button
-                >
-              </el-popover>
-            </div>
-            <ul v-else-if="item.scope === 'mapTypesMores'" class="ulAuto">
-              <template v-for="(itm, inds) in scope.row[item.prop]">
-                <li :key="inds" v-if="inds === 0">
-                  {{
-                    itm.educationName +
-                    "-" +
-                    itm.projectName +
-                    "-" +
-                    itm.businessName +
-                    "-" +
-                    itm.subjectName
-                  }}
-                </li>
-              </template>
-              <el-popover
-                :key="Math.random()"
-                placement="right"
-                trigger="click"
-              >
-                <ul>
-                  <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
-                    {{ inds + 1 }}、
-                    {{
-                      itm.educationName +
-                      "-" +
-                      itm.projectName +
-                      "-" +
-                      itm.businessName +
-                      "-" +
-                      itm.subjectName
-                    }}
-                  </li>
-                </ul>
-                <el-button
-                  slot="reference"
-                  style="margin-left: 6px"
-                  type="text"
-                  v-if="scope.row[item.prop].length > 1"
-                  size="mini"
-                  >更多</el-button
-                >
-              </el-popover>
-            </ul>
-            <span v-else-if="item.scope === 'statusRe'">{{
-              Number(scope.row[item.prop]) === 0
-                ? "已删除"
-                : Number(scope.row[item.prop]) === 1 &&
-                  Number(scope.row["reStatus"]) === 1
-                ? "待发布"
-                : Number(scope.row[item.prop]) === 1 &&
-                  Number(scope.row["reStatus"]) === 0
-                ? "未发布"
-                : Number(scope.row[item.prop]) === 2
-                ? "已撤回"
-                : Number(scope.row[item.prop]) === 3
-                ? "已发布"
-                : Number(scope.row[item.prop]) === 4
-                ? "已到期"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'TimeVoBtn'">
-              <el-popover :key="Math.random()" placement="left" trigger="click">
-                <div
-                  v-for="(items, indexs) in scope.row[item.prop]"
-                  :key="indexs"
-                  style="margin-bottom: 6px"
-                >
-                  {{ $methodsTools.onlyForma(items.startTime) }} ~
-                  {{ $methodsTools.onlyForma(items.endTime) }}
-                </div>
-                <el-button slot="reference" size="mini">查看</el-button>
-              </el-popover>
-            </span>
-            <div v-else-if="item.scope === 'video'">
-              <i
-                v-if="scope.row[item.prop][item.prop1] !== null"
-                class="el-icon-video-play cvideo"
-                @click="
-                  openVideo(
-                    $methodsTools.splitImgHost(scope.row[item.prop][item.prop1])
-                  )
-                "
-              ></i>
-            </div>
-            <div
-              v-else-if="item.scope === 'PDF'"
-              style="display: flex; align-items: center"
-            >
-              <a
-                v-if="scope.row[item.prop][item.prop1] !== null"
-                :href="
-                  $methodsTools.splitImgHost(scope.row[item.prop][item.prop1])
-                "
-                target="_blank"
-                style="
-                  display: block;
-                  width: 35px;
-                  height: 45px;
-                  margin-right: 10px;
-                "
-              >
-                <img class="imgHover" src="@/assets/images/pdf@3x.png" alt="" />
-              </a>
-              <div>{{ scope.row[item.prop][item.prop2] }}</div>
-            </div>
-            <span v-else-if="item.scope === 'Salary'">
-              {{ scope.row[item.prop1] === 1 ? "月薪" : "年薪" }}
-              {{
-                scope.row[item.prop2] === scope.row[item.prop3]
-                  ? scope.row[item.prop2]
-                  : scope.row[item.prop2] + "~" + scope.row[item.prop3]
-              }}
-            </span>
-            <div v-else-if="item.scope === 'changAdress'">
-              <div>{{ scope.row[item.prop1] }}</div>
-              <div>
-                {{ $methodsTools.onlyForma(scope.row[item.prop2], false) }}
-                <span
-                  >{{
-                    scope.row[item.prop3]
-                      ? scope.row[item.prop3].replace("-", ":")
-                      : scope.row[item.prop3]
-                  }}-{{
-                    scope.row[item.prop4]
-                      ? scope.row[item.prop4].replace("-", ":")
-                      : scope.row[item.prop4]
-                  }}</span
-                >
-              </div>
-            </div>
-            <span v-else-if="item.scope === 'activityType'">{{
-              Number(scope.row[item.prop]) === 0
-                ? "优惠券"
-                : Number(scope.row[item.prop]) === 1
-                ? "折扣券"
-                : Number(scope.row[item.prop]) === 2
-                ? "线上直播"
-                : Number(scope.row[item.prop]) === 3
-                ? "定价"
-                : Number(scope.row[item.prop]) === 4
-                ? "优惠"
-                : Number(scope.row[item.prop]) === 5
-                ? "折扣"
-                : Number(scope.row[item.prop]) === 6
-                ? "线下活动"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'activityRemarks'">{{
-              Number(scope.row[item.prop]) === 0
-                ? "金额:¥" + scope.row["price"]
-                : Number(scope.row[item.prop]) === 1
-                ? "折扣:" + scope.row["price"] + "折"
-                : Number(scope.row[item.prop]) === 2
-                ? "直播内容:" + scope.row["liveContent"]
-                : Number(scope.row[item.prop]) === 3
-                ? "商品金额:¥" + scope.row["price"]
-                : Number(scope.row[item.prop]) === 4
-                ? "优惠金额:¥" + scope.row["price"]
-                : Number(scope.row[item.prop]) === 5
-                ? "商品折扣:" + scope.row["price"] + "折"
-                : Number(scope.row[item.prop]) === 6
-                ? "活动地点:" + scope.row["liveAdress"]
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'isUrgent'">{{
-              scope.row[item.prop] === 0
-                ? "不是"
-                : scope.row[item.prop] === 1
-                ? "是"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'gfStatus'">{{
-              scope.row[item.prop] === 0
-                ? "否"
-                : scope.row[item.prop] === 1
-                ? "是"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'refundPrice'">
-              {{
-                scope.row["goodsRealPrice"] && scope.row["goodsReceived"]
-                  ? Number(scope.row["goodsRealPrice"]) -
-                    Number(scope.row["goodsReceived"]) +
-                    "元"
-                  : ""
-              }}
-            </span>
-            <span v-else-if="item.scope === 'peopleNum'">{{
-              scope.row[item.prop] === 0 ? "不限制" : scope.row[item.prop]
-            }}</span>
-            <span v-else-if="item.scope === 'address'"
-              >{{
-                scope.row[item.prop1] +
-                scope.row[item.prop2] +
-                scope.row[item.prop3]
-              }}{{ scope.row[item.prop4] ? scope.row[item.prop4] : "" }}</span
-            >
-            <span v-else-if="item.scope === 'statusActivity'">{{
-              Number(scope.row[item.prop]) === 0
-                ? "已删除"
-                : Number(scope.row[item.prop]) === 1
-                ? "已结束"
-                : Number(scope.row[item.prop]) === 2
-                ? "已撤回"
-                : Number(scope.row[item.prop]) === 3
-                ? "已开始"
-                : Number(scope.row[item.prop]) === 4
-                ? "未开始"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'sex'">
-              {{
-                scope.row[item.prop] == 1
-                  ? "男"
-                  : scope.row[item.prop] == 2
-                  ? "女"
-                  : "未知"
-              }}
-            </span>
-            <span v-else-if="item.scope === 'statusFB'">{{
-              scope.row[item.prop] === 0
-                ? "删除"
-                : scope.row[item.prop] === 1
-                ? "发布"
-                : scope.row[item.prop] === 2
-                ? "撤回"
-                : scope.row[item.prop] === 3
-                ? "未发布"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'typeStatus'">{{
-              scope.row[item.prop] === 0
-                ? "报名指引"
-                : scope.row[item.prop] === 1
-                ? "打印准考证"
-                : scope.row[item.prop] === 2
-                ? "成绩查询指引"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'typeId'">{{
-              scope.row[item.prop] === 1
-                ? "普通练习"
-                : scope.row[item.prop] === 2
-                ? "押题试卷"
-                : scope.row[item.prop] === 3
-                ? "真题试卷"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'taskType'">{{
-              scope.row[item.prop] === 0
-                ? "每日签到"
-                : scope.row[item.prop] === 1
-                ? "完善信息"
-                : scope.row[item.prop] === 2
-                ? "邀请好友"
-                : scope.row[item.prop] === 3
-                ? "每日分享"
-                : scope.row[item.prop] === 4
-                ? "视频学习"
-                : scope.row[item.prop] === 5
-                ? "模拟考试"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'releaseType'">{{
-              scope.row[item.prop] === 0
-                ? "手动发布"
-                : scope.row[item.prop] === 1
-                ? "定时发布"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'releaseStatus'">{{
-              scope.row[item.prop] === 0
-                ? "删除"
-                : scope.row[item.prop] === 1
-                ? "待发布"
-                : scope.row[item.prop] === 2
-                ? "撤回"
-                : scope.row[item.prop] === 3
-                ? "发布成功"
-                : scope.row[item.prop] === 4
-                ? "未发布"
-                : scope.row[item.prop] === 5
-                ? "已结束"
-                : "未知"
-            }}</span>
-            <div v-else-if="item.scope === 'knowledge'" class="overSty">
-              <el-button
-                type="success"
-                size="small"
-                v-for="(items, ks) in scope.row[item.prop]"
-                :key="ks"
-              >
-                {{ items.knowledgeName }}
-              </el-button>
-            </div>
-            <span v-else-if="item.scope === 'numberAll'">{{
-              scope.row[item.prop1] + scope.row[item.prop2]
-            }}</span>
-            <span v-else-if="item.scope === 'moreLists'">{{
-              scope.row[item.prop1] + " ~ " + scope.row[item.prop2]
-            }}</span>
-            <span v-else-if="item.scope === 'resultType'">
-              {{ scope.row[item.prop1] }}
-              <span
-                :style="
-                  scope.row[item.prop2] === 1
-                    ? 'color:purple'
-                    : scope.row[item.prop2] === 0
-                    ? 'color:red;'
-                    : ''
-                "
-              >
-                {{
-                  scope.row[item.prop2] === 1
-                    ? "通过"
-                    : scope.row[item.prop2] === 0
-                    ? "不通过"
-                    : ""
-                }}
-              </span>
-            </span>
-            <span v-else-if="item.scope === 'TimeLists'"
-              >{{
-                $methodsTools.onlyForma(scope.row[item.prop1], item.Diszing)
-              }}
-              至
-              {{
-                $methodsTools.onlyForma(scope.row[item.prop2], item.Diszing)
-              }}</span
-            >
-            <span v-else-if="item.scope === 'aTimeList'">{{
-              scope.row[item.prop] === null
-                ? "--"
-                : $methodsTools.onlyForma(scope.row[item.prop])
-            }}</span>
-            <div v-else-if="item.scope === 'inputs'">
-              <el-input-number
-                style="width: 50px"
-                size="small"
-                :controls="false"
-                v-model="scope.row[item.prop]"
-                controls-position="right"
-                :min="0"
-              ></el-input-number>
-            </div>
-            <span v-else-if="item.scope === 'topic'">{{
-              scope.row[item.prop] === 1
-                ? "单选题"
-                : scope.row[item.prop] === 2
-                ? "多选题"
-                : scope.row[item.prop] === 3
-                ? "判断题"
-                : scope.row[item.prop] === 4
-                ? "案例题"
-                : scope.row[item.prop] === 5
-                ? "简答题"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'typeStatusName'">{{
-              scope.row[item.prop] === 1
-                ? "扫码支付"
-                : scope.row[item.prop] === 2
-                ? "刷卡支付"
-                : scope.row[item.prop] === 3
-                ? "现金支付"
-                : scope.row[item.prop] === 4
-                ? "转账"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'teachers'">
-              <span v-for="(itm, indm) in scope.row[item.prop]" :key="indm"
-                >{{ itm.nickName
-                }}{{
-                  indm !== scope.row[item.prop].length - 1 ? "," : ""
-                }}</span
-              >
-            </span>
-            <span v-else-if="item.scope === 'streamType'">{{
-              scope.row[item.prop] === 1
-                ? "正式"
-                : scope.row[item.prop] === 2
-                ? "测试"
-                : "未知"
-            }}</span>
-            <span
-              v-else-if="item.scope === 'statusPeriod'"
-              :style="scope.row[item.prop] === 0 ? 'color:red' : ''"
-            >
-              {{
-                scope.row[item.prop] === 0
-                  ? "未通过"
-                  : scope.row[item.prop] === 1
-                  ? "已通过"
-                  : scope.row[item.prop] === 2
-                  ? "待审核"
-                  : ""
-              }}
-            </span>
-            <div v-else-if="item.scope === 'changeCLS'">
-              <div v-if="scope.row[item.prop] === 1" style="color: red">
-                有变更
-                <span style="marign-left:6px;color:blue;cursor: pointer;" @click="isShowBoxsFun(scope.row)">查看</span>
-              </div>
-              <span v-else> 正常 </span>
-            </div>
-            <span
-              v-else-if="item.scope === 'finishStatus'"
-              :style="scope.row[item.prop] === 0 ? 'color:red' : ''"
-            >
-              {{
-                scope.row[item.prop] === 0
-                  ? "未结业"
-                  : scope.row[item.prop] === 1
-                  ? "结业"
-                  : ""
-              }}
-            </span>
-            <span v-else-if="item.scope === 'computer'">
-              {{ scope.row[item.prop1] + "/" + scope.row[item.prop2] }}
-              {{
-                scope.row[item.prop1] == 0 && scope.row[item.prop2] == 0
-                  ? "0%"
-                  : (scope.row[item.prop1] / scope.row[item.prop2]) * 100 + "%"
-              }}
-            </span>
-            <span v-else-if="item.scope === 'statusOrder'">{{
-              scope.row[item.prop] === -2
-                ? "超时关闭"
-                : scope.row[item.prop] === -1
-                ? "手动关闭"
-                : scope.row[item.prop] === 0
-                ? "待付款"
-                : scope.row[item.prop] === 1
-                ? "已付款"
-                : scope.row[item.prop] === 3
-                ? "成功"
-                : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'cType'">
-              <el-tag
-                type="success"
-                v-if="
-                  compType(scope.row[item.prop], scope.row['requestMethod']) ===
-                  '新增'
-                "
-              >
-                {{
-                  compType(scope.row[item.prop], scope.row["requestMethod"])
-                }}</el-tag
-              >
-              <el-tag
-                v-if="
-                  compType(scope.row[item.prop], scope.row['requestMethod']) ===
-                  '修改'
-                "
-              >
-                {{
-                  compType(scope.row[item.prop], scope.row["requestMethod"])
-                }}</el-tag
-              >
-              <el-tag
-                type="warning"
-                v-if="
-                  compType(scope.row[item.prop], scope.row['requestMethod']) ===
-                  '查询'
-                "
-              >
-                {{
-                  compType(scope.row[item.prop], scope.row["requestMethod"])
-                }}</el-tag
-              >
-            </span>
-            <span v-else-if="item.scope === 'time'">{{
-              numTime(scope.row[item.prop])
-            }}</span>
-            <span v-else-if="item.scope === 'timeBtn'"
-              >{{ numTime(scope.row[item.prop]) }}
-              <el-button type="text" @click="getxq(scope.row)">详情</el-button>
-            </span>
-            <span
-              class="editInfoSty"
-              v-else-if="item.scope === 'editInfo'"
-              @click="editInfo(scope.row)"
-              >{{ scope.row[item.prop] }}
-            </span>
-            <span
-              class="editInfoSty"
-              v-else-if="item.scope === 'editInfoMore'"
-              @click="editInfo(scope.row)"
-              >{{ scope.row[item.prop1] }} - {{ scope.row[item.prop2] }}
-            </span>
-            <span v-else-if="item.scope === 'InfoMore'"
-              >{{ scope.row[item.prop1] }} - {{ scope.row[item.prop2] }}
-            </span>
-            <el-button
-              v-else-if="item.scope === 'aboutTrees'"
-              slot="reference"
-              @click="activesBoxszing(scope.row[item.prop])"
-              >查看</el-button
-            >
-            <div
-              class="editInfoSty"
-              v-else-if="item.scope === 'editInfoHTML'"
-              @click="editInfo(scope.row)"
-            >
-              {{ getSimpleText(scope.row[item.prop]) }}
-            </div>
-            <span v-else-if="item.scope === 'minute'">{{
-              numTimeminute(scope.row[item.prop])
-            }}</span>
-            <span
-              v-else-if="item.scope === 'jumpPage'"
-              @click="jumpPage(scope.row)"
-              style="color: #409eff; cursor: pointer"
-              >{{ scope.row[item.prop] }}</span
-            >
-            <span v-else-if="item.scope === 'objType'">
-              {{
-                scope.row[item.objProp].length
-                  ? scope.row[item.objProp][0][item.prop]
-                  : ""
-              }}
-            </span>
-            <span v-else-if="item.scope === 'isOKs'" style="color: red"
-              >审核通过</span
-            >
-            <span v-else-if="item.scope === 'classTypes'">
-              {{
-                scope.row[item.prop] === 1
-                  ? "已开班:" + scope.row[item.prop1]
-                  : scope.row[item.prop] === 0
-                  ? "未开班"
-                  : ""
-              }}
-            </span>
-            <span v-else-if="item.scope === 'classTimeTypes'">
-              {{
-                scope.row[item.prop] === 1
-                  ? "即刻"
-                  : scope.row[item.prop] === 2
-                  ? "待定"
-                  : scope.row[item.prop] === 3
-                  ? $methodsTools.onlyForma(scope.row[item.prop1])
-                  : "未知"
-              }}
-            </span>
-            <div v-else-if="item.scope === 'objTypeYW'">
-              <span v-if="scope.row[item.objProp].length">
-                {{ scope.row[item.objProp][0][item.prop1] }}-{{
-                  scope.row[item.objProp][0][item.prop2]
-                }}-{{ scope.row[item.objProp][0][item.prop3] }}
-              </span>
-            </div>
-            <div v-else-if="item.scope === 'againStudent'">
-              <span :style="scope.row[item.prop] ? 'color:blue' : ''">{{
-                scope.row[item.prop]
-              }}</span>
-              <span style="color: red;margin-left:10px;" v-if="scope.row[item.prop]"
-                >已重修{{ scope.row[item.prop1] }}节</span
-              >
-            </div>
-            <span v-else-if="item.scope === 'eduTypes'">
-              {{
-                scope.row[item.prop1] +
-                "-" +
-                scope.row[item.prop2] +
-                "-" +
-                scope.row[item.prop3]
-              }}{{ scope.row[item.prop4] ? "-" + scope.row[item.prop4] : "" }}
-            </span>
-            <span
-              v-else-if="item.scope === 'sendStatus'"
-              :style="scope.row[item.prop] === 0 ? 'color:red;' : ''"
-            >
-              {{
-                scope.row[item.prop] === 1
-                  ? "发送成功"
-                  : scope.row[item.prop] === 0
-                  ? "发送失败"
-                  : "--"
-              }}
-            </span>
-            <span v-else-if="item.scope === 'peopleNums'">
-              {{ scope.row[item.prop1] }} / {{ scope.row[item.prop2] }}
-            </span>
-            <span
-              v-else-if="item.scope === 'jumpPageLabel'"
-              @click="jumpPageLabel(scope.row)"
-              style="color: #409eff; cursor: pointer"
-              >{{ scope.row[item.prop] }}</span
-            >
-            <span v-else-if="item.scope === 'urlStatus'">
-              {{
-                scope.row[item.prop] === 1
-                  ? scope.row[item.prop1]
-                  : scope.row[item.prop] === 2
-                  ? scope.row[item.prop2]
-                  : scope.row[item.prop] === 3
-                  ? scope.row[item.prop3]
-                  : ""
-              }}
-            </span>
-            <div v-else-if="item.scope === 'morePeople'">
-              <span
-                v-for="(itm, idm) in scope.row[item.prop]
-                  .split(',')
-                  .map(Number)"
-                :key="idm"
-              >
-                {{ itm === 1 ? "非补考学员" : itm === 2 ? "补考学员" : "" }}
-              </span>
-            </div>
-            <span
-              v-else-if="item.scope === 'jumpPageLabelProfess'"
-              @click="jumpPageLabelProfess(scope.row)"
-              style="color: #409eff; cursor: pointer"
-              >{{ scope.row[item.prop] }}</span
-            >
-            <span
-              v-else-if="item.scope === 'infoJump'"
-              @click="jumpinfoJump(scope.row)"
-              style="color: #409eff; cursor: pointer"
-              >详情</span
-            >
-            <span v-else-if="item.scope === 'ptai'">{{
-              scope.row[item.prop] == 1 ? "微信小程序" : "未知"
-            }}</span>
-            <span v-else-if="item.scope === 'diffTime'"
-              >{{
-                scope.row["sectionType"] === 2
-                  ? scope.row[item.prop1]
-                  : scope.row[item.prop2]
-              }}分钟</span
-            >
-            <div v-else-if="item.scope === 'isOptions'">
-              <template v-for="(itemt, indext) in item.options">
-                <span
-                  :key="indext"
-                  v-if="itemt.value === scope.row[item.prop]"
-                  :style="itemt.style ? itemt.style : ''"
-                  >{{ itemt.label }}</span
-                >
-              </template>
-            </div>
-            <div v-else-if="item.scope === 'isOptionsDZYQ'">
-              <template v-for="(itemt, indext) in item.options">
-                <span
-                  :key="indext"
-                  v-if="itemt.value === scope.row[item.prop]"
-                  :style="itemt.style ? itemt.style : ''"
-                  >{{
-                    scope.row["subscribeStatus"] === 1 ? itemt.label : ""
-                  }}</span
-                >
-              </template>
-            </div>
-            <span v-else
-              >{{ scope.row[item.prop] }}
-              {{
-                (scope.row[item.prop] || scope.row[item.prop] === 0) && item.ch
-                  ? item.ch
-                  : ""
-              }}</span
-            >
-          </template>
-        </el-table-column>
-      </template>
-      <el-table-column
-        label="官方信息推送状态"
-        align="center"
-        width="180px"
-        v-if="navText.gftsStatus"
-      >
-        <template slot-scope="scope">
-          {{
-            scope.row.officialStatus === 1
-              ? `是(${scope.row.officialNum})`
-              : scope.row.officialStatus === 0
-              ? "否"
-              : ""
-          }}
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="官方学时推送状态"
-        align="center"
-        width="180px"
-        v-if="navText.gfxsStatus"
-      >
-        <template slot-scope="scope">
-          {{
-            scope.row.periodPlush === 1
-              ? `是(${scope.row.plushNum})`
-              : scope.row.periodPlush === 0
-              ? "否"
-              : ""
-          }}
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="官方学习账号开通状态"
-        align="center"
-        width="180px"
-        v-if="navText.gfUserStatus"
-      >
-        <template slot-scope="scope">
-          {{
-            scope.row.learnStatus === 1
-              ? "是"
-              : scope.row.learnStatus === 0
-              ? "否"
-              : ""
-          }}
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="操作"
-        align="center"
-        fixed="right"
-        :width="navText.changeWidth ? navText.changeWidth : '180px'"
-        v-if="!navText.tableHide"
-      >
-        <template slot-scope="scope">
-          <slot name="btn" :scope="scope"></slot>
-        </template>
-      </el-table-column>
-    </el-table>
-    <el-dialog
-      :visible.sync="diaBox"
-      width="500px"
-      :show-close="false"
-      :destroy-on-close="true"
-    >
-      <div slot="title" class="hearders">
-        <div class="leftTitle">详情</div>
-        <div class="rightBoxs">
-          <img
-            src="@/assets/images/Close@2x.png"
-            alt=""
-            @click="closeBeforefs"
-          />
-        </div>
-      </div>
-      <el-row class="contentBox" :gutter="30">
-        <div style="width: 100%; height: 100%">
-          <video
-            controls
-            preload
-            style="width: 100%; height: 100%"
-            :src="$methodsTools.splitImgHost(videoUrls)"
-          ></video>
-        </div>
-      </el-row>
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="closeBeforefs">关闭</el-button>
-      </div>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="dialogVisible"
-      width="560px"
-      :show-close="false"
-      :close-on-click-modal="false"
-    >
-      <div slot="title" class="hearders">
-        <div class="leftTitle">课程树形图</div>
-        <div class="rightBoxs">
-          <img src="@/assets/images/Close@2x.png" alt="" @click="closes" />
-        </div>
-      </div>
-      <div>
-        <el-tree
-          :key="Math.random()"
-          :props="props"
-          :load="loadNode"
-          lazy
-        ></el-tree>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="closes">取 消</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="diaviosOpen"
-      width="560px"
-      :show-close="false"
-      :close-on-click-modal="false"
-    >
-      <div slot="title" class="hearders">
-        <div class="leftTitle">商品树形图</div>
-        <div class="rightBoxs">
-          <img
-            src="@/assets/images/Close@2x.png"
-            alt=""
-            @click="diaviosOpen = false"
-          />
-        </div>
-      </div>
-      <div>
-        <el-tree
-          :key="Math.random()"
-          :props="props1"
-          :load="loadNode1"
-          lazy
-        ></el-tree>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="diaviosOpen = false">取 消</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="isShowBoxs"
-      width="400px"
-      :show-close="false"
-      :close-on-click-modal="false"
-    >
-      <div slot="title" class="hearders">
-        <div class="leftTitle">资料变更详情</div>
-        <div class="rightBoxs">
-          <img
-            src="@/assets/images/Close@2x.png"
-            alt=""
-            @click="isShowBoxs = false"
-          />
-        </div>
-      </div>
-      <div style="max-height:400px;overflow:auto;">
-        <ul>
-          <li v-for="(items,indexs) in listBoxsGET" :key="indexs" style="margin-bottom:30px;">
-            <p>{{$methodsTools.onlyForma(items.createTime)}}</p>
-            <p style="padding-left:14px;color:#999;">姓名:{{items.realname}}</p>
-            <p style="padding-left:14px;color:#999;">身份证号码:{{items.idCard}}</p>
-          </li>
-        </ul>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="isShowBoxs = false">取 消</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      :visible.sync="diaviosTKOpen"
-      width="560px"
-      :show-close="false"
-      :close-on-click-modal="false"
-    >
-      <div slot="title" class="hearders">
-        <div class="leftTitle">商品树形图</div>
-        <div class="rightBoxs">
-          <img
-            src="@/assets/images/Close@2x.png"
-            alt=""
-            @click="diaviosTKOpen = false"
-          />
-        </div>
-      </div>
-      <div>
-        <el-tree
-          :key="Math.random()"
-          :props="props2"
-          :load="loadNode2"
-          lazy
-        ></el-tree>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="diaviosTKOpen = false">取 消</el-button>
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-export default {
-  props: ["tableSets", "tableData", "navText", "rowKey", "loading"],
-  data: function () {
-    return {
-      diaviosOpen: false,
-      diaviosTKOpen: false,
-      dialogVisible: false,
-      tableSet: this.tableSets,
-      allCheckData: [], //表格多选
-      checkAll: true,
-      checkedCities: [], //自定义列 选中数组
-      cities: [], //自定义列 总数组
-      isIndeterminate: false,
-      videoUrls: "",
-      diaBox: false,
-      isShowBoxs:false,
-      listBoxsGET:[],
-      props: {
-        label(data, node) {
-          return data.menuName || data.name;
-        },
-        isLeaf(data, node) {
-          return data.hasChildren ? false : true;
-        },
-      },
-      props1: {
-        label(data, node) {
-          return data.courseName || data.menuName || data.name;
-        },
-        isLeaf(data, node) {
-          return data.hasChildren ? false : true;
-        },
-      },
-      props2: {
-        label(data, node) {
-          return data.examName || data.menuName || data.name;
-        },
-        isLeaf(data, node) {
-          return data.hasChildren ? false : true;
-        },
-      },
-      treeDatas: [],
-      treeDatas1: [],
-      treeDatas2: [],
-    };
-  },
-  computed: {
-    numTime: function () {
-      return function (res) {
-        return Number(res / 3600).toFixed(2);
-      };
-    },
-    numTimeminute: function () {
-      return function (res) {
-        return Number(res / 60).toFixed(2);
-      };
-    },
-    compType: function () {
-      return function (res, data) {
-        if (data === "POST") {
-          if (res.indexOf("edit") !== -1 || res.indexOf("update") !== -1) {
-            return "修改";
-          } else {
-            return "新增";
-          }
-        } else if (data === "GET") {
-          return "查询";
-        }
-      };
-    },
-  },
-  created() {
-    this.inittableSet = JSON.stringify(this.tableSet);
-    this.initTR();
-  },
-  mounted() {},
-  methods: {
-    isShowBoxsFun(item){
-      this.$api.inquireuserUpdateListsy({userId:item.userId}).then(res => {
-        this.listBoxsGET = res.rows
-        this.isShowBoxs = true
-        this.$api.editgradestudentuserUpdate({userId:item.userId,status:1}).then(result => {})
-      })
-    },
-    sortMethods(a, b) {
-      return a.classGradeUserGoodsVoList.length >
-        b.classGradeUserGoodsVoList.length
-        ? -1
-        : 1;
-    },
-    // int: 1 节列表-关联章 2 章列表-关联模块 3 模块列表-关联课程 4 课程列表-关联商品 5 题目列表-关联试卷 6 试卷列表-关联商品 7 章卷列表-关联商品 8 模块列表-关联商品
-    jumpPages(v, int) {
-      if (int === 1) {
-        this.$router.push({
-          path: "/resource/videoManagement/chapterEdit",
-          query: {
-            id: v.chapterId,
-          },
-        });
-      }
-      if (int === 2) {
-        this.$router.push({
-          path: "/resource/videoManagement/moduleManagementEdit",
-          query: {
-            id: v.moduleId,
-          },
-        });
-      }
-      if (int === 3) {
-        this.$router.push({
-          path: "/resource/videoManagement/editCourse",
-          query: {
-            id: v.courseId,
-          },
-        });
-      }
-      if (int === 4) {
-        this.$router.push({
-          path: "/Marketing/commodityManageMentEdit",
-          query: {
-            id: v.goodsId,
-          },
-        });
-      }
-      if (int === 5) {
-        this.$router.push({
-          path: "/resource/bankManagement/editPaper",
-          query: {
-            id: v.examId,
-          },
-        });
-      }
-      if (int === 6) {
-        this.$router.push({
-          path: "/Marketing/commodityManageMentEdit",
-          query: {
-            id: v.goodsId,
-          },
-        });
-      }
-      if (int === 7) {
-        this.$router.push({
-          path: "/Marketing/commodityManageMentEdit",
-          query: {
-            id: v.goodsId,
-          },
-        });
-      }
-      if (int === 8) {
-        this.$router.push({
-          path: "/Marketing/commodityManageMentEdit",
-          query: {
-            id: v.goodsId,
-          },
-        });
-      }
-    },
-    jumpClass(v) {
-      this.$router.push({
-        path: "/education/classManageMent/studentMenu",
-        query: {
-          id: v.gradeId,
-          goodsId: v.id,
-        },
-      });
-    },
-    getSimpleText(html) {
-      var re1 = new RegExp("<.+?>", "g"); //匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
-      var msg = html.replace(re1, ""); //执行替换成空字符
-      return msg;
-    },
-    //树形图关闭
-    closes() {
-      this.dialogVisible = false;
-    },
-    activesBoxszing(ids) {
-      this.$api.inquireCoursemenuListS({ courseId: ids }).then((res) => {
-        res.rows.forEach((item) => {
-          item.TypeId = item.type + "-" + item.menuId;
-        });
-        this.treeDatas = res.rows;
-        this.dialogVisible = true;
-      });
-    },
-    loadNode(node, resolve) {
-      if (node.level === 0) {
-        this.treeDatas.forEach((item) => {
-          if (item.type === 1) {
-            item.hasChildren = true;
-          }
-          if (item.type === 2) {
-            item.hasChildren = true;
-          }
-          if (item.type === 3) {
-            item.hasChildren = false;
-          }
-        });
-        return resolve(this.treeDatas);
-      } else {
-        if (node.data.type === 1) {
-          this.$api
-            .inquireCourseListmodulechapter(node.data.courseId)
-            .then((res) => {
-              res.data.forEach((item) => {
-                item.TypeId = 2 + "-" + item.chapterId;
-                item.hasChildren = true;
-                item.menuId = item.chapterId;
-                item.type = 2;
-              });
-              return resolve(res.data);
-            });
-        }
-        if (node.data.type === 2) {
-          this.$api
-            .inquireCoursechaptersectionlist(node.data.menuId)
-            .then((res) => {
-              res.data.forEach((item) => {
-                item.TypeId = 3 + "-" + item.sectionId;
-                item.type = 3;
-              });
-              return resolve(res.data);
-            });
-        }
-        if (node.data.type === 3) {
-          return resolve([]);
-        }
-      }
-    },
-    diavios(ids) {
-      this.$api.obtainCourseSgoodsId(ids).then((res) => {
-        res.rows.forEach((item) => {
-          item.TypeId = "0-" + item.courseId;
-          item.type = 0;
-          item.hasChildren = true;
-        });
-        this.treeDatas1 = res.rows;
-        this.diaviosOpen = true;
-      });
-    },
-    loadNode1(node, resolve) {
-      if (node.level === 0) {
-        return resolve(this.treeDatas1);
-      } else {
-        if (node.data.type === 0) {
-          this.$api
-            .inquireCoursemenuListS({ courseId: node.data.courseId })
-            .then((res) => {
-              res.rows.forEach((item) => {
-                item.TypeId = 1 + "-" + item.menuId;
-                item.hasChildren = item.type === 3 ? false : true;
-                item.menuId = item.menuId;
-              });
-              return resolve(res.rows);
-            });
-        }
-        if (node.data.type === 1) {
-          this.$api
-            .inquireCourseListmodulechapter(node.data.courseId)
-            .then((res) => {
-              res.data.forEach((item) => {
-                item.TypeId = 2 + "-" + item.chapterId;
-                item.hasChildren = true;
-                item.menuId = item.chapterId;
-                item.type = 2;
-              });
-              return resolve(res.data);
-            });
-        }
-        if (node.data.type === 2) {
-          this.$api
-            .inquireCoursechaptersectionlist(node.data.menuId)
-            .then((res) => {
-              res.data.forEach((item) => {
-                item.TypeId = 3 + "-" + item.sectionId;
-                item.type = 3;
-              });
-              return resolve(res.data);
-            });
-        }
-        if (node.data.type === 3) {
-          return resolve([]);
-        }
-      }
-    },
-    diaviosTK(ids) {
-      this.$api.inquireGoodsbanklist({ goodsId: ids }).then((res) => {
-        res.data.forEach((item) => {
-          item.TypeId = item.type + "-" + item.majorId;
-          item.hasChildren = item.type === 3 ? false : true;
-        });
-        this.treeDatas2 = res.data;
-        this.diaviosTKOpen = true;
-      });
-    },
-    loadNode2(node, resolve) {
-      if (node.level === 0) {
-        return resolve(this.treeDatas2);
-      } else {
-        if (node.data.type === 1) {
-          this.$api
-            .inquireBankchapterModule({ moduleExamId: node.data.majorId })
-            .then((res) => {
-              res.data.forEach((item) => {
-                item.TypeId = 2 + "-" + item.chapterExamId;
-                item.menuId = item.chapterExamId;
-                item.type = 2;
-              });
-              return resolve(res.data);
-            });
-        }
-        if (node.data.type === 2) {
-          this.$api
-            .inquirebankchapterexamList({
-              chapterExamId: node.data.majorId,
-            })
-            .then((res) => {
-              res.data.forEach((item) => {
-                item.TypeId = 3 + "-" + item.examId;
-                item.type = 3;
-              });
-              return resolve(res.data);
-            });
-        }
-        if (node.data.type === 3) {
-          return resolve([]);
-        }
-      }
-    },
-    timeStyle(column) {
-      if (column.columnIndex === 0 && this.navText.firstColLeft) {
-        return "text-align:left!important;  padding-left: 40px;";
-      }
-    },
-    //初始化
-    initTR() {
-      this.cities = [];
-      this.checkedCities = [];
-      this.checkAll = true;
-      this.isIndeterminate = false;
-      this.tableSet.forEach((item, index) => {
-        this.cities.push(item.label);
-        if (item.hidden) {
-          this.checkedCities.push(item.label);
-        }
-      });
-      if (this.checkedCities.length === 0) {
-        this.isIndeterminate = false;
-      } else if (this.checkedCities.length === this.cities.length) {
-        this.isIndeterminate = false;
-        this.checkAll = true;
-      } else {
-        this.isIndeterminate = true;
-        this.checkAll = false;
-      }
-    },
-    //自定义列全选按钮触发
-    handleCheckAllChange(val) {
-      console.log(val,123)
-      this.checkedCities = val ? this.cities : [];
-      this.isIndeterminate = false;
-      if (val) {
-        this.tableSet.forEach((item, index) => {
-          item.hidden = true;
-        });
-      } else {
-        this.tableSet.forEach((item, index) => {
-          item.hidden = false;
-        });
-      }
-    },
-    // 勾选自定义列子选项
-    handleCheckedCitiesChange(value) {
-      let checkedCount = value.length;
-      this.checkAll = checkedCount === this.cities.length;
-      this.isIndeterminate =
-        checkedCount > 0 && checkedCount < this.cities.length;
-    },
-    checkboxChange(v, e) {
-      this.tableSet.forEach((item) => {
-        if (item.label === v) {
-          item.hidden = e;
-        }
-      });
-    },
-    // 下移
-    downMove(option, index) {
-      if (index !== this.tableSet.length - 1) {
-        this.tableSet[index] = this.tableSet.splice(
-          index + 1,
-          1,
-          this.tableSet[index]
-        )[0];
-        this.cities[index] = this.cities.splice(
-          index + 1,
-          1,
-          this.cities[index]
-        )[0];
-      } else {
-        this.tableSet.unshift(this.tableSet.splice(index, 1)[0]);
-        this.cities.unshift(this.cities.splice(index, 1)[0]);
-      }
-    },
-    // 上移
-    upMove(option, index) {
-      if (index != 0) {
-        this.tableSet[index] = this.tableSet.splice(
-          index - 1,
-          1,
-          this.tableSet[index]
-        )[0];
-        this.cities[index] = this.cities.splice(
-          index - 1,
-          1,
-          this.cities[index]
-        )[0];
-      } else {
-        this.tableSet.push(this.tableSet.shift());
-        this.cities.push(this.cities.shift());
-      }
-    },
-    //跳转页面
-    jumpPage(options) {
-      this.$router.push({
-        path: "dictData",
-        query: {
-          dictId: options.dictId,
-          dictType: options.dictType,
-        },
-      });
-    },
-    //跳转页面
-    jumpPageLabel(options) {
-      this.$router.push({
-        path: "labelInfos",
-        query: {
-          id: options.id,
-        },
-      });
-    }, //跳转页面
-    jumpPageLabelProfess(options) {
-      this.$router.push({
-        path: "labelInfos",
-        query: {
-          id: options.labelId,
-        },
-      });
-    },
-    jumpinfoJump(options) {
-      this.$router.push({
-        path: "beneficiaryInfos",
-        query: {
-          id: options.payeeId,
-        },
-      });
-    },
-    //新增按钮
-    addClick() {
-      this.$emit("addClick");
-    },
-    //将选中值传回调用组件
-    backFather() {
-      this.$emit("emitData", this.allCheckData);
-    },
-    edit() {},
-    selectAll(value) {
-      this.allCheckData = value;
-    },
-    select(value) {
-      this.allCheckData = value;
-    },
-    //自定义列重置
-    initVue() {
-      // this.$emit("initTableset");
-      this.tableSet = JSON.parse(this.inittableSet);
-      this.initTR();
-    },
-    load(tree, treeNode, resolve) {
-      this.$emit("load", tree, treeNode, resolve);
-    },
-    editInfo(option, int) {
-      if (int === 3) {
-        this.$emit("aboutGoods", option);
-      } else {
-        this.$emit("editInfo", option);
-      }
-    },
-    jumpPeolpe(item,type){
-      if(type === 1){
-        this.$router.push({
-        path: "applicationData",
-        query: {
-          id: item.applyId,
-          type:type
-        },
-      });
-      }
-      if(type === 2){
-        this.$router.push({
-        path: "applicationData",
-        query: {
-          id: item.beforeId,
-          type:type
-        },
-      });
-      }
-    },
-    getxq(option) {
-      this.$emit("getxq", option.userId);
-    },
-    openVideo(url) {
-      this.videoUrls = url;
-      this.diaBox = true;
-    },
-    closeBeforefs() {
-      this.diaBox = false;
-    },
-  },
-};
-</script>
-<style lang="less">
-.overSty {
-  white-space: nowrap;
-  overflow-x: auto;
-  &::-webkit-scrollbar {
-    width: 14px;
-    height: 14px;
-  }
-
-  &::-webkit-scrollbar-track,
-  &::-webkit-scrollbar-thumb {
-    border-radius: 999px;
-    border: 5px solid transparent;
-  }
-
-  &::-webkit-scrollbar-track {
-    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2) inset;
-  }
-
-  &::-webkit-scrollbar-thumb {
-    min-height: 20px;
-    background-clip: content-box;
-    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2) inset;
-  }
-
-  &::-webkit-scrollbar-corner {
-    background: transparent;
-  }
-}
-.slotPopper {
-  padding: 0px !important;
-}
-</style>
-<style lang="less" scoped>
-#tableList {
-  padding: 0px 16px 16px;
-  border-radius: 8px;
-  box-shadow: 0px 0px 9px 1px rgba(28, 41, 90, 0.1);
-  background: #ffffff;
-  .headerNavTool {
-    height: 72px;
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    .rightBtnBox {
-      display: flex;
-      align-items: center;
-    }
-  }
-}
-.popoverDis {
-  display: flex;
-  flex-direction: column;
-  align-items: flex-start;
-  font-size: 14px;
-  .checkboxHeader {
-    height: 40px;
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    padding-left: 13px;
-    padding-right: 15px;
-    width: 100%;
-    .initbtns {
-      color: #47a6ff;
-      cursor: pointer;
-    }
-  }
-  .checkboxGroup {
-    display: flex;
-    flex-direction: column;
-    width: 100%;
-    .checkboxchild {
-      width: 100%;
-      justify-content: space-between;
-      height: 40px;
-      display: flex;
-      align-items: center;
-      padding: 0px 15px 0px 13px;
-      transition: all 0.4s;
-      &:hover {
-        background-color: #ecf5ff;
-      }
-      &:hover .icon-right {
-        display: flex;
-      }
-      .icon-right {
-        display: flex;
-        align-items: center;
-        width: 30px;
-        height: 30px;
-        color: #666;
-        font-size: 14px;
-        display: none;
-        i {
-          cursor: pointer;
-          margin: 0px 3px;
-          &:hover {
-            color: #47a6ff;
-          }
-        }
-      }
-    }
-  }
-}
-/deep/.el-checkbox__input.is-checked + .el-checkbox__label {
-  color: #666;
-}
-.imgboxsq {
-  margin: 0 auto;
-  height: 60px;
-  max-height: 60px;
-  .el_images {
-    /deep/.el-image__inner {
-      width: auto;
-    }
-  }
-}
-.imgHover {
-  width: 100%;
-  height: 100%;
-  cursor: pointer;
-}
-.cvideo {
-  transition: all 0.2s;
-  color: #333;
-  cursor: pointer;
-  font-size: 30px;
-}
-.cvideo:hover {
-  color: #47a6ff;
-}
-.editInfoSty {
-  cursor: pointer;
-  color: blue;
-}
-.ulAuto {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-.ulAutos {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.dis_sdt {
-  display: flex;
-  align-items: flex-end;
-  ul {
-    margin: 0px;
-    li {
-      text-align: left;
-    }
-  }
-}
-.jumpClass {
-  color: #333;
-  cursor: pointer;
-}
-.jumpStys {
-  color: blue;
-  cursor: pointer;
-}
-</style>
-

+ 4 - 2
src/components/tableList.vue

@@ -1443,8 +1443,9 @@
           />
         </div>
       </div>
-      <div>
+      <div style="max-height: 600px; overflow: auto">
         <el-tree
+          default-expand-all
           :key="Math.random()"
           :props="props1"
           :load="loadNode1"
@@ -1546,8 +1547,9 @@
           />
         </div>
       </div>
-      <div>
+      <div style="max-height: 600px; overflow: auto">
         <el-tree
+          default-expand-all
           :key="Math.random()"
           :props="props2"
           :load="loadNode2"

+ 447 - 0
src/components/testPaperPreview/index.vue

@@ -0,0 +1,447 @@
+<template>
+  <div id="testPaperPreview">
+    <el-dialog
+      :visible.sync="diavos"
+      width="940px"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
+      <div slot="title" class="hearders">
+        <div class="leftTitle">试卷预览</div>
+        <div class="rightBoxs">
+          <img src="@/assets/images/Close@2x.png" alt="" @click="clears" />
+        </div>
+      </div>
+      <div>
+        <table class="table_style" border>
+          <tr>
+            <td>当前总分</td>
+            <td>及格分数</td>
+            <td>答卷时长</td>
+            <td>答卷次数</td>
+            <td>做题类型</td>
+          </tr>
+          <tr>
+            <td>{{ topData.getAllpocis }}</td>
+            <td>{{ topData.passScore }}</td>
+            <td>
+              {{ topData.answerTime === 0 ? "无限时长" : topData.answerTime }}
+            </td>
+            <td>
+              {{ topData.answerNum === 0 ? "无限次" : topData.answerNum }}
+            </td>
+            <td>
+              {{
+                topData.doType === 1
+                  ? "练习"
+                  : topData.doType === 2
+                  ? "考试"
+                  : ""
+              }}
+            </td>
+          </tr>
+        </table>
+        <div class="bank_style">
+          <div v-for="(item, index) in tableData" :key="index">
+            <div class="header_style">
+              <span>题目{{ index + 1 }}</span>
+              <span>{{ getTypeName(item.type) }}</span>
+              <span>分值:{{ item.score }}</span>
+            </div>
+            <div class="dis_flex">
+              <span>题目内容:</span>
+              <div>
+                <div class="divPy" v-html="imgExiz(item.content)"></div>
+                <ul v-if="item.type !== 4">
+                  <li
+                    v-for="(items, indexs) in item.optionsList"
+                    :key="indexs"
+                    style="margin-bottom: 10px"
+                  >
+                    {{ Gest(indexs + 1) }}:{{ items.content }}
+
+                    <el-image
+                      v-if="items.imgUrl"
+                      style="width: 80px; height: 80px; vertical-align: middle"
+                      :src="$methodsTools.splitImgHost(items.imgUrl)"
+                      :preview-src-list="[
+                        $methodsTools.splitImgHost(items.imgUrl),
+                      ]"
+                    >
+                    </el-image>
+                  </li>
+                </ul>
+                <div v-else>
+                  <div
+                    style="background: #e0e0e0; padding: 10px"
+                    v-for="(its, inds) in JSON.parse(item.jsonStr)"
+                    :key="inds"
+                  >
+                    <div class="header_style">
+                      <span>题目{{ inds + 1 }}</span>
+                      <span>{{ getTypeName(its.type) }}</span>
+                      <span>分值:{{ its.score }}</span>
+                    </div>
+                    <div class="dis_flex">
+                      <span>题目内容:</span>
+                      <div>
+                        <div class="divPy" v-html="imgExiz(its.content)"></div>
+                        <ul>
+                          <li
+                            v-for="(itemsxs, indexsxs) in its.optionsList"
+                            :key="indexsxs"
+                            style="margin-bottom: 10px"
+                          >
+                            {{ Gest(indexsxs + 1) }}:{{ itemsxs.content }}
+
+                            <el-image
+                              v-if="itemsxs.imgUrl"
+                              style="
+                                width: 80px;
+                                height: 80px;
+                                vertical-align: middle;
+                              "
+                              :src="$methodsTools.splitImgHost(itemsxs.imgUrl)"
+                              :preview-src-list="[
+                                $methodsTools.splitImgHost(itemsxs.imgUrl),
+                              ]"
+                            >
+                            </el-image>
+                          </li>
+                        </ul>
+                      </div>
+                    </div>
+                    <div class="dis_flex" v-if="its.type !== 5">
+                      <span>正确答案:</span>
+                      <div>
+                        <span v-if="its.type === 3">
+                          {{ its.answerQuestion == 1 ? "正确" : "错误" }}
+                        </span>
+                        <span v-else>
+                          {{ getDictChanges(its.answerQuestion) }}
+                        </span>
+                      </div>
+                    </div>
+                    <div class="dis_flex">
+                      <span>答案解析:</span>
+                      <div>
+                        <div v-html="imgExiz(its.analysisContent)"></div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div class="dis_flex" v-if="item.type !== 5">
+              <span>正确答案:</span>
+              <div>
+                <span v-if="item.type === 3">
+                  {{ item.answerQuestion == 1 ? "正确" : "错误" }}
+                </span>
+                <span v-else>
+                  {{ getDictChanges(item.answerQuestion) }}
+                </span>
+              </div>
+            </div>
+            <div class="dis_flex">
+              <span>答案解析:</span>
+              <div><div v-html="imgExiz(item.analysisContent)"></div></div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="clears">取 消</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      diavos: false,
+      tableData: [], //题目内容
+      topData: {}, //顶部表格数据
+    };
+  },
+  computed: {
+    /**
+     * 题目类型转换名称
+     */
+    getTypeName: function () {
+      return function (type) {
+        let typeName = "";
+        switch (type) {
+          case 1:
+            typeName = "单选题";
+            break;
+          case 2:
+            typeName = "多选题";
+            break;
+          case 3:
+            typeName = "判断题";
+            break;
+          case 4:
+            typeName = "案例题";
+            break;
+          case 5:
+            typeName = "简答题";
+            break;
+
+          default:
+            break;
+        }
+        return typeName;
+      };
+    },
+
+    imgExiz: function () {
+      return function (vms) {
+        if (!vms) {
+          return vms;
+        } else {
+          var ast1 = vms.replace(/<p/gi, '<p style="margin:0px;"');
+          var ast = ast1.replace(/<img/gi, '<img style="max-width:100%;"');
+          return ast;
+        }
+      };
+    },
+  },
+  methods: {
+    /**
+     * type = 1时Id获取数据row = ID, 2时直接获取数据row = 数据
+     */
+    openBox(type, row) {
+      const ROWS = JSON.parse(JSON.stringify(row));
+      console.log(type, ROWS);
+      if (type === 1) {
+        //搜索Id处理数据
+        this.$api.obtainbankexam(row).then((res) => {
+            console.log(111)
+          this.topData = {
+            answerTime: res.data.answerTime,
+            answerNum: res.data.answerNum,
+            doType: res.data.doType,
+            passScore: res.data.passScore,
+          };
+        });
+        this.$api.inquirebankexamquestionList({ examId: row }).then((res) => {
+          res.data.map((item) => {
+            item.optionsList = JSON.parse(item.jsonStr);
+          });
+          this.tableData = res.data;
+          var num = 0;
+          res.data.forEach((item) => {
+            num += item.score;
+          });
+          this.topData.getAllpocis = num;
+          this.diavos = true;
+        });
+      }
+      if (type === 2) {
+        this.topData = ROWS.topData;
+        this.tableData = ROWS.tableData;
+        this.diavos = true;
+      }
+    },
+    clears() {
+      this.diavos = false;
+    },
+    /**
+     * 选项转换
+     */
+    Gest(ints) {
+      var int = parseInt(ints);
+      var ast = "";
+      switch (int) {
+        case 1:
+          ast = "A";
+          break;
+        case 2:
+          ast = "B";
+          break;
+        case 3:
+          ast = "C";
+          break;
+        case 4:
+          ast = "D";
+          break;
+        case 5:
+          ast = "E";
+          break;
+        case 6:
+          ast = "F";
+          break;
+        case 7:
+          ast = "G";
+          break;
+        case 8:
+          ast = "H";
+          break;
+        default:
+          ast = "X";
+          break;
+      }
+      return ast;
+    },
+    getDictChanges(dan) {
+      var arst = [];
+      var arrays;
+      if (dan instanceof Object) {
+        arrays = dan;
+      } else {
+        if (dan) {
+          arrays = dan.toString().split(",");
+        } else {
+          return "";
+        }
+      }
+      for (let i = 0; i < arrays.length; i++) {
+        arst.push(this.Gest(arrays[i]));
+      }
+      return arst.join(",");
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.divPy {
+}
+.table_style {
+  width: 100%;
+  border-collapse: collapse;
+  text-align: center;
+  margin-bottom: 14px;
+  tr {
+    &:first-of-type {
+      background-color: rgb(255, 255, 204);
+      font-weight: bold;
+    }
+    td {
+      padding: 6px;
+    }
+  }
+}
+.bank_style {
+  max-height: 600px;
+  overflow: auto;
+  & > div {
+    padding: 10px;
+    background-color: #eee;
+    margin-bottom: 11px;
+  }
+  & .header_style {
+    border-bottom: 1px dotted #999;
+    padding-bottom: 6px;
+    & > span {
+      margin-right: 10px;
+    }
+  }
+  & .dis_flex {
+    display: flex;
+    margin-bottom: 6px;
+    & > span {
+      width: 90px;
+      flex-shrink: 0;
+    }
+    & > div {
+      flex: 1;
+      ul {
+        margin: 0;
+      }
+    }
+  }
+}
+/deep/.el-button {
+  border-radius: 8px;
+}
+/deep/.el-dialog {
+  border-radius: 8px;
+  .el-dialog__header {
+    padding: 0;
+    .hearders {
+      height: 40px;
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      padding: 0px 18px 0px 20px;
+      border-bottom: 1px solid #e2e2e2;
+      .leftTitle {
+        font-size: 14px;
+        font-weight: bold;
+        color: #2f4378;
+      }
+      .rightBoxs {
+        display: flex;
+        align-items: center;
+        img {
+          width: 14px;
+          height: 14px;
+          margin-left: 13px;
+          cursor: pointer;
+        }
+      }
+    }
+  }
+  .el-dialog__footer {
+    padding: 0;
+    .dialog-footer {
+      padding: 0px 40px;
+      height: 70px;
+      border-top: 1px solid #e2e2e2;
+      display: flex;
+      align-items: center;
+      justify-content: flex-end;
+    }
+  }
+}
+.imgBox {
+  width: 100%;
+  // height: 210px;
+  border: 1px solid #e2e2e2;
+  border-radius: 8px;
+  padding: 8px 8px 3px;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  .imgLabel {
+    flex: 1;
+    width: 100%;
+    border: 1px dotted #e2e2e2;
+    color: #999;
+    font-size: 14px;
+    cursor: pointer;
+    border-radius: 8px;
+    .msPhoto {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      max-width: 100%;
+      max-height: 270px;
+      img {
+        max-width: 100%;
+        max-height: 270px;
+      }
+    }
+    .imgbbx {
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      width: 100%;
+      height: 100%;
+      i {
+        font-weight: bold;
+        margin: 14px 0;
+        font-size: 24px;
+      }
+    }
+  }
+  p {
+    margin: 5px 0px;
+  }
+}
+</style>

+ 2 - 2
src/views/education/studentManageMent/studentList/index.vue

@@ -109,8 +109,8 @@ export default {
           hidden: true,
         },
         {
-          label: "绑定微信",
-          prop: "nickname",
+          label: "所在公司",
+          prop: "companyName",
           hidden: true,
         },
         {

+ 39 - 2
src/views/resource/bankManagement/testPaperManagement/addPaper/topicAddPaper/index.vue

@@ -14,7 +14,7 @@
         @editInfo="editInfo"
         @emitData="emitData"
       >
-      <template slot="customize">
+        <template slot="customize">
           <el-button size="medium" @click="dialogDRword = true" type="success"
             >Word批量导入</el-button
           >
@@ -34,6 +34,7 @@
       </table-list>
       <div class="centerStys">
         <el-button size="small" @click="backPage">取消</el-button>
+        <el-button size="small" type="warning" @click="preview">预览</el-button>
         <el-button
           size="small"
           type="primary"
@@ -676,6 +677,7 @@
         </span>
       </el-dialog>
     </div>
+    <test-paper-preview ref="testPaperPreview" />
   </div>
 </template>
 
@@ -686,9 +688,18 @@ import tableList from "@/components/tableList";
 import busIns from "@/components/busIns";
 import questionBank from "@/components/questionBank";
 import wordPop from "../../editPaper/topicEditPaper/wordPop.vue";
+import testPaperPreview from "@/components/testPaperPreview";
 export default {
   name: "TopicAddPaper",
-  components: { searchBoxNew, pagination, tableList, busIns, questionBank,wordPop },
+  components: {
+    searchBoxNew,
+    pagination,
+    tableList,
+    busIns,
+    questionBank,
+    wordPop,
+    testPaperPreview,
+  },
   data() {
     return {
       dialogDRword: false,
@@ -1020,6 +1031,32 @@ export default {
     this.localStart = false;
   },
   methods: {
+    preview() {
+      var num = 0;
+      this.tableData.forEach((item) => {
+        num += item.score;
+      });
+      var topData = {
+        getAllpocis: num,
+        passScore: this.passScore,
+        doType: this.examsType,
+      };
+      if (this.djTimeType === 0) {
+        topData.answerTime = 0;
+      } else {
+        topData.answerTime = this.djTime;
+      }
+      if (this.djNumType === 0) {
+        topData.answerNum = 0;
+      } else {
+        topData.answerNum = this.djNum;
+      }
+      let data = {
+        topData: topData,
+        tableData: this.tableData,
+      };
+      this.$refs.testPaperPreview.openBox(2, data);
+    },
     setInterFunc() {
       var arr = setInterval(() => {
         if (!this.localStart) {

+ 30 - 0
src/views/resource/bankManagement/testPaperManagement/editPaper/topicEditPaper/index.vue

@@ -30,6 +30,7 @@
       </table-list>
       <div class="centerStys">
         <el-button size="small" @click="backPage">取消</el-button>
+        <el-button size="small" type="warning" @click="preview">预览</el-button>
         <el-button
           size="small"
           type="primary"
@@ -680,6 +681,7 @@
         </span>
       </el-dialog>
     </div>
+    <test-paper-preview ref="testPaperPreview" />
   </div>
 </template>
 
@@ -690,6 +692,7 @@ import tableList from "@/components/tableList";
 import busIns from "@/components/busIns";
 import questionBank from "@/components/questionBank";
 import wordPop from "./wordPop.vue";
+import testPaperPreview from "@/components/testPaperPreview";
 export default {
   components: {
     searchBoxNew,
@@ -698,6 +701,7 @@ export default {
     busIns,
     questionBank,
     wordPop,
+    testPaperPreview,
   },
   data() {
     return {
@@ -1055,6 +1059,32 @@ export default {
     this.localStart = false;
   },
   methods: {
+    preview() {
+      var num = 0;
+      this.tableData.forEach((item) => {
+        num += item.score;
+      });
+      var topData = {
+        getAllpocis: num,
+        passScore: this.passScore,
+        doType: this.examsType,
+      };
+      if (this.djTimeType === 0) {
+        topData.answerTime = 0;
+      } else {
+        topData.answerTime = this.djTime;
+      }
+      if (this.djNumType === 0) {
+        topData.answerNum = 0;
+      } else {
+        topData.answerNum = this.djNum;
+      }
+      let data = {
+        topData: topData,
+        tableData: this.tableData,
+      };
+      this.$refs.testPaperPreview.openBox(2, data);
+    },
     /**
      *
      */

+ 10 - 1
src/views/resource/bankManagement/testPaperManagement/index.vue

@@ -22,6 +22,10 @@
         <el-button type="text" @click="addClick(props.scope.row, 2)"
           >修改试卷题库</el-button
         > -->
+
+        <el-button type="text" @click="preview(props.scope.row.examId)"
+          >预览</el-button
+        >
         <el-button type="text" @click="addClick(props.scope.row, 1)"
           >编辑</el-button
         >
@@ -35,6 +39,7 @@
       @handleSizeChange="handleSizeChange"
       @handleCurrentChange="handleCurrentChange"
     />
+    <test-paper-preview ref="testPaperPreview" />
   </div>
 </template>
 
@@ -42,9 +47,10 @@
 import searchBoxNew from "@/components/searchBoxNew";
 import tableList from "@/components/tableList";
 import pagination from "@/components/pagination";
+import testPaperPreview from "@/components/testPaperPreview";
 export default {
   name: "TestPaperManagement",
-  components: { tableList, pagination, searchBoxNew },
+  components: { tableList, pagination, searchBoxNew, testPaperPreview },
   data() {
     return {
       loading: false, //当前表单加载是否加载动画
@@ -175,6 +181,9 @@ export default {
     this.search();
   },
   methods: {
+    preview(id) {
+      this.$refs.testPaperPreview.openBox(1, id);
+    },
     editInfo(v) {
       this.addClick(v, 1);
     },

+ 119 - 1
src/views/resource/videoManagement/courseManagement/chapterContent/index.vue

@@ -26,6 +26,7 @@
       lazy
       :load="load"
       :props="layoutTreeProps"
+      default-expand-all
       @node-click="handleNodeClick"
     >
       <span class="custom-tree-node" slot-scope="{ node, data }">
@@ -48,6 +49,24 @@
           >
             关联试卷
           </el-button>
+          <el-button
+            v-if="data.type === 2 && getShowStatus(data)"
+            type="text"
+            size="mini"
+            style="color: orange"
+            @click.stop="preview(node, data)"
+          >
+            预览
+          </el-button>
+          <el-button
+            v-if="data.type === 3"
+            type="text"
+            size="mini"
+            style="color: orange"
+            @click.stop="preview(node, data)"
+          >
+            预览
+          </el-button>
         </span>
       </span>
     </el-tree>
@@ -338,15 +357,19 @@
         <el-button type="primary" @click="submitPZ">确 定</el-button>
       </span>
     </el-dialog>
+    <test-paper-preview ref="testPaperPreview" />
+    <video-preview ref="preview" />
   </div>
 </template>
 
 <script>
 import searchBoxNew from "@/components/searchBoxNew";
 import pagination from "@/components/pagination";
+import testPaperPreview from "@/components/testPaperPreview";
+import videoPreview from "@/components/videoPreview";
 export default {
   name: "ChapterContent",
-  components: { searchBoxNew, pagination },
+  components: { searchBoxNew, pagination, testPaperPreview, videoPreview },
   data() {
     return {
       disabledBtn: false,
@@ -481,6 +504,49 @@ export default {
       },
     };
   },
+  computed: {
+    /**
+     * 查询是否关联试卷
+     */
+    getShowStatus: function () {
+      return function (item) {
+        var ints = item.id.split("-").map(Number);
+        var arr = [];
+        if (ints[0] === 1) {
+          arr.push(ints[1]);
+          if (ints[2]) {
+            arr.push(ints[2]);
+          } else {
+            arr.push(0);
+          }
+          if (ints[3]) {
+            arr.push(ints[3]);
+          } else {
+            arr.push(0);
+          }
+        }
+        if (ints[0] === 2) {
+          arr.push(0);
+          arr.push(ints[1]);
+          if (ints[2]) {
+            arr.push(ints[2]);
+          } else {
+            arr.push(0);
+          }
+        }
+        if (ints[0] === 3) {
+          arr.push(0);
+          arr.push(0);
+          arr.push(ints[1]);
+        }
+        var atys = arr.join("-");
+        var setTs = this.menuExamList.some((items) => {
+          return items.onlyId == atys;
+        });
+        return setTs;
+      };
+    },
+  },
   mounted() {
     this.$api
       .gradecheckGoodsChange({ courseId: this.$route.query.id })
@@ -493,6 +559,55 @@ export default {
     this.search();
   },
   methods: {
+    preview(node, data) {
+      if (data.type === 2) {
+        var ints = data.id.split("-").map(Number);
+        var arr = [];
+        if (ints[0] === 1) {
+          arr.push(ints[1]);
+          if (ints[2]) {
+            arr.push(ints[2]);
+          } else {
+            arr.push(0);
+          }
+          if (ints[3]) {
+            arr.push(ints[3]);
+          } else {
+            arr.push(0);
+          }
+        }
+        if (ints[0] === 2) {
+          arr.push(0);
+          arr.push(ints[1]);
+          if (ints[2]) {
+            arr.push(ints[2]);
+          } else {
+            arr.push(0);
+          }
+        }
+        if (ints[0] === 3) {
+          arr.push(0);
+          arr.push(0);
+          arr.push(ints[1]);
+        }
+        var atys = arr.join("-");
+        var setTs = this.menuExamList.some((items) => {
+          return items.onlyId == atys;
+        });
+        if (setTs) {
+          this.menuExamList.map((items) => {
+            if (items.onlyId == atys) {
+              this.$refs.testPaperPreview.openBox(1, items.examId);
+            }
+          });
+        }
+      }
+      if (data.type === 3) {
+        this.$api.obtainCourseSection(data.CodeId).then((res) => {
+          this.$refs.preview.diavosFun(res.data);
+        });
+      }
+    },
     initSort() {
       this.sortList = JSON.parse(JSON.stringify(this.tableDataInfos));
     },
@@ -1070,6 +1185,9 @@ export default {
           resolve(arrays);
         });
       }
+      if (tree.type === 3) {
+        resolve([]);
+      }
       return;
     },
     handleSizeChange(v) {

+ 22 - 8
src/views/resource/videoManagement/courseManagement/editCourse/index.vue

@@ -1,23 +1,37 @@
 <template>
   <div id="editCourse">
     <el-tabs v-model="activeName" type="card">
-    <el-tab-pane label="课程基本信息" name="first"><basic-info-edit /></el-tab-pane>
-    <el-tab-pane label="课程章节内容" name="second"><chapter-content /></el-tab-pane>
-  </el-tabs>
+      <el-tab-pane label="课程基本信息" name="first"
+        ><basic-info-edit
+      /></el-tab-pane>
+      <el-tab-pane label="课程章节内容" name="second"
+        ><chapter-content
+      /></el-tab-pane>
+    </el-tabs>
   </div>
 </template>
 
 <script>
-import basicInfoEdit from "../basicInfoEdit/index.vue"
-import chapterContent from "../chapterContent/index.vue"
+import basicInfoEdit from "../basicInfoEdit/index.vue";
+import chapterContent from "../chapterContent/index.vue";
 export default {
-  components:{basicInfoEdit,chapterContent},
-  name:"EditCourse",
+  components: { basicInfoEdit, chapterContent },
+  name: "EditCourse",
   data() {
     return {
-      activeName:"first"
+      activeName: "first",
     };
   },
+  mounted() {
+    if (this.$route.query.name) {
+      if (this.$route.query.name == 1) {
+        this.activeName = "first";
+      }
+      if (this.$route.query.name == 2) {
+        this.activeName = "second";
+      }
+    }
+  },
   methods: {},
 };
 </script>

+ 14 - 13
src/views/resource/videoManagement/courseManagement/index.vue

@@ -16,13 +16,13 @@
       @editInfo="editInfo"
     >
       <template slot="btn" slot-scope="props">
-        <!-- <el-button type="text" @click="addClick(props.scope.row, 0)"
+        <el-button type="text" @click="edit(props.scope.row, 1)"
           >基本信息</el-button
         >
-        <el-button type="text" @click="addClick(props.scope.row, 1)"
+        <el-button type="text" @click="edit(props.scope.row, 2)"
           >章节内容</el-button
-        > -->
-        <el-button type="text" @click="edit(props.scope.row)">修改</el-button>
+        >
+        <!-- <el-button type="text" @click="edit(props.scope.row)">修改</el-button> -->
         <el-button type="text" @click="del(props.scope.row)">删除</el-button>
       </template>
     </table-list>
@@ -54,7 +54,7 @@ export default {
         border: true,
         choice: true,
         addHide: false,
-        changeWidth: "160px",
+        changeWidth: "220px",
         backFatherBtn: {
           status: false,
           title: "未定义",
@@ -184,12 +184,12 @@ export default {
           scope: "aTimeList",
           hidden: true,
         },
-        {
-          label: "课程章节",
-          prop: "courseId",
-          hidden: true,
-          scope: "aboutTrees",
-        },
+        // {
+        //   label: "课程章节",
+        //   prop: "courseId",
+        //   hidden: true,
+        //   scope: "aboutTrees",
+        // },
         {
           label: "关联商品",
           hidden: true,
@@ -212,12 +212,13 @@ export default {
     this.search();
   },
   methods: {
-    edit(v) {
+    edit(v, int) {
       const jump = () => {
         this.$router.push({
           path: "editCourse",
           query: {
             id: v.courseId,
+            name: int,
           },
         });
       };
@@ -239,7 +240,7 @@ export default {
       }
     },
     editInfo(v) {
-      this.edit(v);
+      this.edit(v, 1);
     },
     search(int) {
       this.loading = true;