Tang 3 years ago
parent
commit
b9cc68598c

+ 134 - 26
src/views/Marketing/goods/commodityManageMent/add/courseContent/index.vue

@@ -1,7 +1,20 @@
 <template>
   <div id="courseContent">
     <div style="margin-bottom: 20px">
-      <el-button @click="addCourse" size="small">添加</el-button>
+      <el-button
+        @click="addCourse"
+        size="small"
+        :disabled="tableData.length > 0 && tableData[0].type > 0"
+        >添加课程</el-button
+      >
+      <el-button
+        @click="addMoreList"
+        size="small"
+        :disabled="
+          tableData.length > 0 && tableData[0].courseName ? true : false
+        "
+        >添加模块/章/节</el-button
+      >
       <el-button
         @click="openAudition"
         type="success"
@@ -30,7 +43,7 @@
       :default-sort="{ prop: 'sort', order: 'ascending' }"
     >
       <el-table-column
-        v-for="(item, index) in tableSetVideo"
+        v-for="(item, index) in compayTypes(tableSetVideo)"
         :width="item.width"
         :key="index"
         :label="item.label"
@@ -51,6 +64,16 @@
               ? "回放"
               : "未知"
           }}</span>
+          <span v-else-if="item.scope === 'type'">{{
+            scope.row[item.prop] === 1
+              ? "模块"
+              : scope.row[item.prop] === 2
+              ? "章"
+              : scope.row[item.prop] === 3
+              ? "节"
+              : "未知"
+          }}</span>
+
           <span v-else-if="item.scope === 'busin'">
             {{ scope.row[item.prop1] + " - " + scope.row[item.prop2] }}
           </span>
@@ -90,6 +113,7 @@
       @uploadArrays="uploadArrays"
     />
     <course-check ref="courseCheck" @backData="backVideoData" />
+    <more-list-check ref="moreListCheck" @backData="backMoreListData" />
     <play-photo ref="playPhoto" @backData="backPlayPhotoData" />
     <every-day-study-num ref="everyDayStudyNum" @backData="backEveryDaySet" />
     <handout-view ref="handoutView" @backData="backHandoutView" />
@@ -99,6 +123,7 @@
 <script>
 import poppleSet from "../../poppleSet.vue";
 import courseCheck from "./courseCheck.vue";
+import moreListCheck from "./moreListCheck.vue";
 import playPhoto from "./playPhoto.vue";
 import everyDayStudyNum from "./everyDayStudyNum.vue";
 import handoutView from "./handoutView.vue";
@@ -107,6 +132,7 @@ export default {
   components: {
     poppleSet,
     courseCheck,
+    moreListCheck,
     playPhoto,
     everyDayStudyNum,
     handoutView,
@@ -116,30 +142,51 @@ export default {
     return {
       tableSetVideo: [
         { label: "排序", prop: "sort", scope: "inputs", width: "100" },
-        { label: "课程编码", prop: "code", width: "140" },
-        { label: "课程名称", prop: "courseName", width: "190" },
-        { label: "科目", prop: "subjectName", width: "150" },
-        { label: "专业", prop: "categoryName" },
-        { label: "院校", prop: "schoolName", width: "150" },
-        {
-          label: "业务层次",
-          prop1: "projectName",
-          prop2: "businessName",
-          scope: "busin",
-          width: "350px",
-        },
-        { label: "教育类型", prop: "educationName", width: "160" },
+        { label: "编码", prop: "code", width: "140" },
+        { label: "课程名称", prop: "courseName", width: "300", type: 1 },
+        { label: "类型", prop: "type", width: "190", type: 2, scope: "type" },
+        { label: "名称", prop: "menuName", width: "300", type: 2 },
+        { label: "科目", prop: "subjectName", width: "150", type: 1 },
+        { label: "专业", prop: "categoryName", type: 1 },
+        { label: "院校", prop: "schoolName", width: "150", type: 1 },
+        // {
+        //   label: "业务层次",
+        //   prop1: "projectName",
+        //   prop2: "businessName",
+        //   scope: "busin",
+        //   width: "350px",
+        //   type: 1,
+        // },
+        // { label: "教育类型", prop: "educationName", width: "160", type: 1 },
         {
           label: "发布状态",
           prop: "publishStatus",
           scope: "Status",
-          width: "120",
         },
       ],
       tableData: [],
       auditionList: [], //试听数据
     };
   },
+  computed: {
+    compayTypes: function () {
+      return function (array) {
+        let ary = [];
+        ary = array.filter((item) => {
+          if (this.tableData.length > 0) {
+            if (this.tableData[0].type) {
+              return item.type !== 1;
+            } else {
+              return item.type !== 2;
+            }
+          } else {
+            return item;
+          }
+        });
+        return ary;
+      };
+    },
+  },
   mounted() {
     this.$bus.$on("sendBybus", () => {
       this.tableData = [];
@@ -154,7 +201,7 @@ export default {
       //搜索条件
       var data = {
         businessId: this.listData.businessId,
-        subjectIds:this.listData.subjectIds.toString(),
+        subjectIds: this.listData.subjectIds.toString(),
         status: 1,
         pageSize: 10,
         pageNum: 1,
@@ -165,7 +212,11 @@ export default {
         return item.courseId;
       });
       //打开选择课程组件
-      this.$refs.courseCheck.openBox(data, aList,this.listData.educationTypeId);
+      this.$refs.courseCheck.openBox(
+        data,
+        aList,
+        this.listData.educationTypeId
+      );
     },
     /**
      * 选择课程回调数据
@@ -190,17 +241,74 @@ export default {
       this.tableData = this.tableData.concat(copyData);
     },
     /**
-     * 删除课程
+     * 删除
      */
     delCourse(item) {
-      const FINDINDEX = this.tableData.findIndex((items) => {
-        return items.courseId === item.courseId;
-      });
-      this.tableData.splice(FINDINDEX, 1);
-      this.auditionList = this.auditionList.filter((items) => {
-        return items.courseId !== item.courseId;
+      if (this.tableData[0].type) {
+        const FINDINDEX = this.tableData.findIndex((items) => {
+          return items.type === item.type && items.menuId === item.menuId;
+        });
+        this.tableData.splice(FINDINDEX, 1);
+        this.auditionList = this.auditionList.filter((items) => {
+          return items.TypeId !== item.TypeId;
+        });
+        this.$message.success("删除成功");
+      } else {
+        const FINDINDEX = this.tableData.findIndex((items) => {
+          return items.courseId === item.courseId;
+        });
+        this.tableData.splice(FINDINDEX, 1);
+        this.auditionList = this.auditionList.filter((items) => {
+          return items.courseId !== item.courseId;
+        });
+        this.$message.success("删除成功");
+      }
+    },
+    /**
+     * 点击添加函数
+     */
+    addMoreList() {
+      //搜索条件
+      var data = {
+        businessId: this.listData.businessId,
+        subjectIds: this.listData.subjectIds.toString(),
+        status: 1,
+        pageSize: 10,
+        pageNum: 1,
+        publishStatus: 1,
+      };
+      //已选模块/章/节
+      var aList = this.tableData.map((item) => {
+        return `${item.type}-${item.menuId}`;
       });
-      this.$message.success("删除成功");
+      //打开选择模块/章/节组件
+      this.$refs.moreListCheck.openBox(
+        data,
+        aList,
+        this.listData.educationTypeId
+      );
+    },
+    /**
+     * 选择模块/章/节回调数据
+     */
+    backMoreListData(array) {
+      let copyData = JSON.parse(JSON.stringify(array));
+      if (this.tableData.length) {
+        let maxIndex = 0;
+        this.tableData.forEach((item) => {
+          if (item.sort > maxIndex) {
+            maxIndex = item.sort;
+          }
+        });
+        copyData.forEach((item, index) => {
+          item.sort = maxIndex + index + 1;
+        });
+      } else {
+        copyData.forEach((item, index) => {
+          item.sort = index + 1;
+        });
+      }
+      this.tableData = this.tableData.concat(copyData);
     },
     /**
      * 点击试听函数

+ 336 - 0
src/views/Marketing/goods/commodityManageMent/add/courseContent/moreListCheck.vue

@@ -0,0 +1,336 @@
+<template>
+  <div id="moreListCheck">
+    <el-dialog
+      @opened="prepareEnd"
+      :visible.sync="dialogVisibleTableBoxs"
+      width="1100px"
+      :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="dialogVisibleTableBoxs = false"
+          />
+        </div>
+      </div>
+      <div style="margin-bottom: 10px">
+        <div style="margin-bottom: 14px">
+          筛选:
+          <el-button
+            :size="size"
+            v-for="(item, index) in type"
+            :key="index"
+            :type="item.value === activeType ? 'primary' : ''"
+            @click="getInfos(1, item.value)"
+            >{{ item.label }}</el-button
+          >
+        </div>
+        <!-- 搜索框 -->
+        <el-input
+          style="width: 230px; margin: 0px 10px"
+          :size="size"
+          v-model="formData['key']"
+          placeholder="标题/编码/标题前缀"
+        ></el-input>
+        <el-button :size="size" type="primary" @click="getInfos(1)"
+          >查询</el-button
+        >
+        <el-button :size="size" @click="getInfos(0)">重置</el-button>
+      </div>
+      <el-table
+        ref="multipleTable"
+        :data="tableData"
+        border
+        @selection-change="selectCheck"
+        row-key="keyId"
+        v-loading="loading"
+        :header-cell-style="{
+          'background-color': '#eee',
+          padding: '8px',
+          color: '#333',
+        }"
+      >
+        <el-table-column
+          align="center"
+          type="selection"
+          width="55"
+          header-align="center"
+          :selectable="checkboxT"
+          :reserve-selection="true"
+        >
+        </el-table-column>
+        <template v-for="(item, index) in compayList(tableSet)">
+          <el-table-column
+            v-if="item.scope !== 'inputs'"
+            :width="item.width"
+            :key="index"
+            :label="item.label"
+            align="center"
+            :show-overflow-tooltip="true"
+            header-align="center"
+          >
+            <template slot-scope="scope">
+              <span v-if="item.scope === 'Status'">
+                {{
+                  scope.row[item.prop] === 1
+                    ? "发布"
+                    : scope.row[item.prop] === 0
+                    ? "未发布"
+                    : "未知"
+                }}
+              </span>
+              <span v-else>{{ scope.row[item.prop] }}</span></template
+            >
+          </el-table-column></template
+        >
+      </el-table>
+      <pagination
+        :total="total"
+        :pageSize="formData.pageSize"
+        :currentPage="formData.pageNum"
+        @handleSizeChange="handleSizeChange"
+        @handleCurrentChange="handleCurrentChange"
+      />
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisibleTableBoxs = false">取 消</el-button>
+        <el-button
+          type="primary"
+          :disabled="activeLists.length === 0"
+          @click="submitTab"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import pagination from "@/components/pagination";
+export default {
+  components: { pagination },
+  data() {
+    return {
+      size: "small",
+      dialogVisibleTableBoxs: false,
+      tableData: [],
+      tableSet: [
+        { label: "编码", prop: "code", width: "140px" },
+        { label: "名称前缀", prop: "prefixName", width: "160px" },
+        { label: "模块标题", prop: "moduleName", type: 1 },
+        { label: "章标题", prop: "name", type: 2 },
+        { label: "节标题", prop: "name", type: 3 },
+        {
+          label: "发布状态",
+          prop: "publishStatus",
+          scope: "Status",
+          width: "120px",
+        },
+      ],
+      type: [
+        {
+          label: "模块",
+          value: 1,
+        },
+        {
+          label: "章",
+          value: 2,
+        },
+        {
+          label: "节",
+          value: 3,
+        },
+      ],
+      formData: {},
+      activeLists: [],
+      disCheckList: [],
+      total: 0,
+      activeType: 1, //默认第一次进来选中模块
+      loading: false,
+    };
+  },
+  computed: {
+    compayList: function () {
+      return function (array) {
+        let ary = [];
+        ary = array.filter((item) => {
+          if (item.type) {
+            if (item.type === this.activeType) {
+              return item;
+            }
+          } else {
+            return item;
+          }
+        });
+        return ary;
+      };
+    },
+  },
+  methods: {
+    /**
+     * 初始
+     */
+    openBox(obj, array, eduId) {
+      this.disCheckList = array;
+      this.formData = JSON.parse(JSON.stringify(obj));
+      //获取业务层次-课程
+      this.getInfos();
+      this.dialogVisibleTableBoxs = true;
+      this.$nextTick(() => {
+        this.$refs.multipleTable.clearSelection();
+      });
+    },
+    /**
+     * 搜索数据
+     */
+    getInfos(int, activeType) {
+      //重置0
+      if (int === 0) {
+        this.formData.pageSize = 10;
+        this.formData.pageNum = 1;
+        delete this.formData.key;
+      }
+      if (int === 1) {
+        this.formData.pageNum = 1;
+      }
+      if (activeType) {
+        this.activeType = activeType;
+      }
+      this.changeType(this.activeType);
+    },
+    changeType(int) {
+      this.activeType = int;
+      this.loading = true;
+      switch (int) {
+        case 1:
+          //获取模块列表
+          this.getModuleList();
+          break;
+        case 2:
+          //获取章列表
+          this.getChapterList();
+          break;
+        case 3:
+          //获取节列表
+          this.getSectionList();
+          break;
+
+        default:
+          break;
+      }
+    },
+    /**
+     * 模块
+     */
+    getModuleList() {
+      this.$api
+        .inquireCourseListmodule(this.formData)
+        .then((res) => {
+          res.rows.forEach((item) => {
+            item.keyId = `1-${item.moduleId}`;
+            item.name = item.moduleName;
+          });
+          this.tableData = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    /**
+     * 章
+     */
+    getChapterList() {
+      this.$api
+        .inquireCourseListchapter(this.formData)
+        .then((res) => {
+          res.rows.forEach((item) => {
+            item.keyId = `2-${item.chapterId}`;
+          });
+          this.tableData = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    /**
+     * 节
+     */
+    getSectionList() {
+      this.$api
+        .inquireCourseSection(this.formData)
+        .then((res) => {
+          res.rows.forEach((item) => {
+            item.keyId = `3-${item.sectionId}`;
+          });
+          this.tableData = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    /**
+     * 开启动画结束执行
+     */
+    prepareEnd() {
+      this.activeLists = []; //初始清空勾选数据
+    },
+    /**
+     * 提交回调数据
+     */
+    submitTab() {
+      try {
+        let ary = this.activeLists.map((item) => {
+          const splitStr = item.keyId.split("-").map(Number);
+          return {
+            type: splitStr[0],
+            menuId: splitStr[1],
+            menuName: item.name,
+            code: item.code,
+            courseId:0,
+            publishStatus: item.publishStatus,
+            durationTime: item.durationTime,
+            sectionType: splitStr[0] === 3 ? item.sectionType : "",
+            auditionMinute:
+              splitStr[0] === 3
+                ? this.$methodsTools.secondToDate(item.durationTime, false)
+                : undefined,
+          };
+        });
+        this.$message.success("添加成功");
+        this.dialogVisibleTableBoxs = false;
+        this.$emit("backData", ary);
+      } catch (error) {
+        this.$message.error("添加失败,请联系管理员");
+      }
+    },
+    selectCheck(value) {
+      this.activeLists = value;
+    },
+    checkboxT(row, index) {
+      if (this.disCheckList.indexOf(row.keyId) !== -1) {
+        return false;
+      } else {
+        return true;
+      }
+    },
+    handleSizeChange(v) {
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
+      this.getInfos();
+    },
+    handleCurrentChange(v) {
+      this.formData.pageNum = v;
+      this.getInfos();
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+</style>

+ 22 - 10
src/views/Marketing/goods/commodityManageMent/add/index.vue

@@ -120,7 +120,7 @@ export default {
       if (rule.required) {
         if (!value) {
           return callback(new Error(rule.message));
-        }else{
+        } else {
           callback();
         }
       } else {
@@ -157,7 +157,7 @@ export default {
         } else {
           callback();
         }
-      }else{
+      } else {
         callback();
       }
     };
@@ -169,7 +169,7 @@ export default {
         } else {
           callback();
         }
-      }else{
+      } else {
         callback();
       }
     };
@@ -746,18 +746,30 @@ export default {
               auditionMinute: this.$methodsTools.secondFormDate(
                 item.auditionMinute
               ),
-              courseId: item.courseId,
+              courseId: item.courseId === 0 ? '' : item.courseId,
               sectionId: item.menuId,
             };
           }
         );
         //课程数据格式转换
-        data.courseList = this.$refs.courseContent.tableData.map((item) => {
-          return {
-            courseId: item.courseId,
-            sort: Number(item.sort),
-          };
-        });
+        if (this.$refs.courseContent.tableData.length > 0) {
+          if (this.$refs.courseContent.tableData[0].type) {
+            data.menuList = this.$refs.courseContent.tableData.map((item) => {
+              item.sort = Number(item.sort);
+              return item;
+            });
+          } else {
+            data.courseList = this.$refs.courseContent.tableData.map((item) => {
+              return {
+                courseId: item.courseId,
+                sort: Number(item.sort),
+              };
+            });
+          }
+        } else {
+          data.courseList = [];
+          data.menuList = []
+        }
         resolve();
       });
     },

+ 158 - 25
src/views/Marketing/goods/commodityManageMent/edit/courseContent/index.vue

@@ -1,8 +1,21 @@
 <template>
   <div id="courseContent">
     <div style="margin-bottom: 20px">
-      <el-button @click="addCourse" size="small" v-if="!submitStatusInfo"
-        >添加</el-button
+      <el-button
+        v-if="!submitStatusInfo"
+        @click="addCourse"
+        size="small"
+        :disabled="tableData.length > 0 && tableData[0].type > 0"
+        >添加课程</el-button
+      >
+      <el-button
+        v-if="!submitStatusInfo"
+        @click="addMoreList"
+        size="small"
+        :disabled="
+          tableData.length > 0 && tableData[0].courseName ? true : false
+        "
+        >添加模块/章/节</el-button
       >
       <el-button
         @click="openAudition"
@@ -32,7 +45,7 @@
       :default-sort="{ prop: 'sort', order: 'ascending' }"
     >
       <el-table-column
-        v-for="(item, index) in tableSetVideo"
+        v-for="(item, index) in compayTypes(tableSetVideo)"
         :width="item.width"
         :key="index"
         :label="item.label"
@@ -53,6 +66,15 @@
               ? "回放"
               : "未知"
           }}</span>
+          <span v-else-if="item.scope === 'type'">{{
+            scope.row[item.prop] === 1
+              ? "模块"
+              : scope.row[item.prop] === 2
+              ? "章"
+              : scope.row[item.prop] === 3
+              ? "节"
+              : "未知"
+          }}</span>
           <span v-else-if="item.scope === 'busin'">
             {{ scope.row[item.prop1] + " - " + scope.row[item.prop2] }}
           </span>
@@ -98,6 +120,11 @@
       @uploadArrays="uploadArrays"
     />
     <course-check ref="courseCheck" @backData="backVideoData" />
+    <more-list-check
+      ref="moreListCheck"
+      @backData="backMoreListData"
+      :bfCourseId="bfCourseId"
+    />
     <play-photo ref="playPhoto" @backData="backPlayPhotoData" />
     <every-day-study-num ref="everyDayStudyNum" @backData="backEveryDaySet" />
     <handout-view ref="handoutView" @backData="backHandoutView" />
@@ -107,6 +134,7 @@
 <script>
 import poppleSet from "../../poppleSet.vue";
 import courseCheck from "./courseCheck.vue";
+import moreListCheck from "./moreListCheck.vue";
 import playPhoto from "./playPhoto.vue";
 import everyDayStudyNum from "./everyDayStudyNum.vue";
 import handoutView from "./handoutView.vue";
@@ -115,6 +143,7 @@ export default {
   components: {
     poppleSet,
     courseCheck,
+    moreListCheck,
     playPhoto,
     everyDayStudyNum,
     handoutView,
@@ -124,34 +153,62 @@ export default {
     return {
       tableSetVideo: [
         { label: "排序", prop: "sort", scope: "inputs", width: "100" },
-        { label: "课程编码", prop: "code", width: "140" },
-        { label: "课程名称", prop: "courseName", width: "190" },
-        { label: "科目", prop: "subjectName", width: "150" },
-        { label: "专业", prop: "categoryName" },
-        { label: "院校", prop: "schoolName", width: "150" },
-        {
-          label: "业务层次",
-          prop1: "projectName",
-          prop2: "businessName",
-          scope: "busin",
-          width: "350px",
-        },
-        { label: "教育类型", prop: "educationName", width: "160" },
+        { label: "编码", prop: "code", width: "140" },
+        { label: "课程名称", prop: "courseName", width: "300", type: 1 },
+        { label: "类型", prop: "type", width: "190", type: 2, scope: "type" },
+        { label: "名称", prop: "menuName", width: "300", type: 2 },
+        { label: "科目", prop: "subjectName", width: "150", type: 1 },
+        { label: "专业", prop: "categoryName", type: 1 },
+        { label: "院校", prop: "schoolName", width: "150", type: 1 },
+        // {
+        //   label: "业务层次",
+        //   prop1: "projectName",
+        //   prop2: "businessName",
+        //   scope: "busin",
+        //   width: "350px",
+        //   type: 1,
+        // },
+        // { label: "教育类型", prop: "educationName", width: "160", type: 1 },
         {
           label: "发布状态",
           prop: "publishStatus",
           scope: "Status",
-          width: "120",
         },
       ],
       tableData: [],
       auditionList: [], //试听数据
+      bfCourseId: 0,
     };
   },
+  watch: {
+    tableData(val) {
+      if (val.length === 0) {
+        this.auditionList = [];
+      }
+    },
+  },
+  computed: {
+    compayTypes: function () {
+      return function (array) {
+        let ary = [];
+        ary = array.filter((item) => {
+          if (this.tableData.length > 0) {
+            if (this.tableData[0].type) {
+              return item.type !== 1;
+            } else {
+              return item.type !== 2;
+            }
+          } else {
+            return item;
+          }
+        });
+        return ary;
+      };
+    },
+  },
   mounted() {
     this.$bus.$on("sendBybus", () => {
       this.tableData = [];
-      this.auditionList = [];
     });
   },
   methods: {
@@ -160,6 +217,25 @@ export default {
      */
     getBybusCoursetableData(id) {
       this.$api.obtainCourseSgoodsId(id).then((res) => {
+        if (res.rows.length === 1 && res.rows[0].courseShow === 0) {
+          this.bfCourseId = res.rows[0].courseId;
+          this.getMoreList(res.rows[0].courseId);
+          this.auditionList.forEach((item) => {
+            item.courseId = res.rows[0].courseId;
+          });
+          return;
+        }
+        this.tableData = res.rows;
+      });
+    },
+    /**
+     * 获取商品模块/章/节列表
+     */
+    getMoreList(id) {
+      this.$api.inquireCoursemenuListS({ courseId: id }).then((res) => {
+        res.rows.forEach((item) => {
+          item.name = item.menuName;
+        });
         this.tableData = res.rows;
       });
     },
@@ -220,14 +296,71 @@ export default {
      * 删除课程
      */
     delCourse(item) {
-      const FINDINDEX = this.tableData.findIndex((items) => {
-        return items.courseId === item.courseId;
-      });
-      this.tableData.splice(FINDINDEX, 1);
-      this.auditionList = this.auditionList.filter((items) => {
-        return items.courseId !== item.courseId;
+      if (this.tableData[0].type) {
+        const FINDINDEX = this.tableData.findIndex((items) => {
+          return items.type === item.type && item.menuId === item.menuId;
+        });
+        this.tableData.splice(FINDINDEX, 1);
+        this.auditionList = this.auditionList.filter((items) => {
+          return items.TypeId !== item.TypeId;
+        });
+        this.$message.success("删除成功");
+      } else {
+        const FINDINDEX = this.tableData.findIndex((items) => {
+          return items.courseId === item.courseId;
+        });
+        this.tableData.splice(FINDINDEX, 1);
+        this.auditionList = this.auditionList.filter((items) => {
+          return items.courseId !== item.courseId;
+        });
+        this.$message.success("删除成功");
+      }
+    },
+    /**
+     * 点击添加函数
+     */
+    addMoreList() {
+      //搜索条件
+      var data = {
+        businessId: this.listData.businessId,
+        subjectIds: this.listData.subjectIds.toString(),
+        status: 1,
+        pageSize: 10,
+        pageNum: 1,
+        publishStatus: 1,
+      };
+      //已选模块/章/节
+      var aList = this.tableData.map((item) => {
+        return `${item.type}-${item.menuId}`;
       });
-      this.$message.success("删除成功");
+      //打开选择模块/章/节组件
+      this.$refs.moreListCheck.openBox(
+        data,
+        aList,
+        this.listData.educationTypeId
+      );
+    },
+    /**
+     * 选择模块/章/节回调数据
+     */
+    backMoreListData(array) {
+      let copyData = JSON.parse(JSON.stringify(array));
+      if (this.tableData.length) {
+        let maxIndex = 0;
+        this.tableData.forEach((item) => {
+          if (item.sort > maxIndex) {
+            maxIndex = item.sort;
+          }
+        });
+        copyData.forEach((item, index) => {
+          item.sort = maxIndex + index + 1;
+        });
+      } else {
+        copyData.forEach((item, index) => {
+          item.sort = index + 1;
+        });
+      }
+      this.tableData = this.tableData.concat(copyData);
     },
     /**
      * 点击试听函数

+ 337 - 0
src/views/Marketing/goods/commodityManageMent/edit/courseContent/moreListCheck.vue

@@ -0,0 +1,337 @@
+<template>
+  <div id="moreListCheck">
+    <el-dialog
+      @opened="prepareEnd"
+      :visible.sync="dialogVisibleTableBoxs"
+      width="1100px"
+      :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="dialogVisibleTableBoxs = false"
+          />
+        </div>
+      </div>
+      <div style="margin-bottom: 10px">
+        <div style="margin-bottom: 14px">
+          筛选:
+          <el-button
+            :size="size"
+            v-for="(item, index) in type"
+            :key="index"
+            :type="item.value === activeType ? 'primary' : ''"
+            @click="getInfos(1, item.value)"
+            >{{ item.label }}</el-button
+          >
+        </div>
+        <!-- 搜索框 -->
+        <el-input
+          style="width: 230px; margin: 0px 10px"
+          :size="size"
+          v-model="formData['key']"
+          placeholder="标题/编码/标题前缀"
+        ></el-input>
+        <el-button :size="size" type="primary" @click="getInfos(1)"
+          >查询</el-button
+        >
+        <el-button :size="size" @click="getInfos(0)">重置</el-button>
+      </div>
+      <el-table
+        ref="multipleTable"
+        :data="tableData"
+        border
+        @selection-change="selectCheck"
+        row-key="keyId"
+        v-loading="loading"
+        :header-cell-style="{
+          'background-color': '#eee',
+          padding: '8px',
+          color: '#333',
+        }"
+      >
+        <el-table-column
+          align="center"
+          type="selection"
+          width="55"
+          header-align="center"
+          :selectable="checkboxT"
+          :reserve-selection="true"
+        >
+        </el-table-column>
+        <template v-for="(item, index) in compayList(tableSet)">
+          <el-table-column
+            v-if="item.scope !== 'inputs'"
+            :width="item.width"
+            :key="index"
+            :label="item.label"
+            align="center"
+            :show-overflow-tooltip="true"
+            header-align="center"
+          >
+            <template slot-scope="scope">
+              <span v-if="item.scope === 'Status'">
+                {{
+                  scope.row[item.prop] === 1
+                    ? "发布"
+                    : scope.row[item.prop] === 0
+                    ? "未发布"
+                    : "未知"
+                }}
+              </span>
+              <span v-else>{{ scope.row[item.prop] }}</span></template
+            >
+          </el-table-column></template
+        >
+      </el-table>
+      <pagination
+        :total="total"
+        :pageSize="formData.pageSize"
+        :currentPage="formData.pageNum"
+        @handleSizeChange="handleSizeChange"
+        @handleCurrentChange="handleCurrentChange"
+      />
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisibleTableBoxs = false">取 消</el-button>
+        <el-button
+          type="primary"
+          :disabled="activeLists.length === 0"
+          @click="submitTab"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import pagination from "@/components/pagination";
+export default {
+  components: { pagination },
+  props:["bfCourseId"],
+  data() {
+    return {
+      size: "small",
+      dialogVisibleTableBoxs: false,
+      tableData: [],
+      tableSet: [
+        { label: "编码", prop: "code", width: "140px" },
+        { label: "名称前缀", prop: "prefixName", width: "160px" },
+        { label: "模块标题", prop: "moduleName", type: 1 },
+        { label: "章标题", prop: "name", type: 2 },
+        { label: "节标题", prop: "name", type: 3 },
+        {
+          label: "发布状态",
+          prop: "publishStatus",
+          scope: "Status",
+          width: "120px",
+        },
+      ],
+      type: [
+        {
+          label: "模块",
+          value: 1,
+        },
+        {
+          label: "章",
+          value: 2,
+        },
+        {
+          label: "节",
+          value: 3,
+        },
+      ],
+      formData: {},
+      activeLists: [],
+      disCheckList: [],
+      total: 0,
+      activeType: 1, //默认第一次进来选中模块
+      loading: false,
+    };
+  },
+  computed: {
+    compayList: function () {
+      return function (array) {
+        let ary = [];
+        ary = array.filter((item) => {
+          if (item.type) {
+            if (item.type === this.activeType) {
+              return item;
+            }
+          } else {
+            return item;
+          }
+        });
+        return ary;
+      };
+    },
+  },
+  methods: {
+    /**
+     * 初始
+     */
+    openBox(obj, array, eduId) {
+      this.disCheckList = array;
+      this.formData = JSON.parse(JSON.stringify(obj));
+      //获取业务层次-课程
+      this.getInfos();
+      this.dialogVisibleTableBoxs = true;
+      this.$nextTick(() => {
+        this.$refs.multipleTable.clearSelection();
+      });
+    },
+    /**
+     * 搜索数据
+     */
+    getInfos(int, activeType) {
+      //重置0
+      if (int === 0) {
+        this.formData.pageSize = 10;
+        this.formData.pageNum = 1;
+        delete this.formData.key;
+      }
+      if (int === 1) {
+        this.formData.pageNum = 1;
+      }
+      if (activeType) {
+        this.activeType = activeType;
+      }
+      this.changeType(this.activeType);
+    },
+    changeType(int) {
+      this.activeType = int;
+      this.loading = true;
+      switch (int) {
+        case 1:
+          //获取模块列表
+          this.getModuleList();
+          break;
+        case 2:
+          //获取章列表
+          this.getChapterList();
+          break;
+        case 3:
+          //获取节列表
+          this.getSectionList();
+          break;
+
+        default:
+          break;
+      }
+    },
+    /**
+     * 模块
+     */
+    getModuleList() {
+      this.$api
+        .inquireCourseListmodule(this.formData)
+        .then((res) => {
+          res.rows.forEach((item) => {
+            item.keyId = `1-${item.moduleId}`;
+            item.name = item.moduleName;
+          });
+          this.tableData = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    /**
+     * 章
+     */
+    getChapterList() {
+      this.$api
+        .inquireCourseListchapter(this.formData)
+        .then((res) => {
+          res.rows.forEach((item) => {
+            item.keyId = `2-${item.chapterId}`;
+          });
+          this.tableData = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    /**
+     * 节
+     */
+    getSectionList() {
+      this.$api
+        .inquireCourseSection(this.formData)
+        .then((res) => {
+          res.rows.forEach((item) => {
+            item.keyId = `3-${item.sectionId}`;
+          });
+          this.tableData = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    /**
+     * 开启动画结束执行
+     */
+    prepareEnd() {
+      this.activeLists = []; //初始清空勾选数据
+    },
+    /**
+     * 提交回调数据
+     */
+    submitTab() {
+      try {
+        let ary = this.activeLists.map((item) => {
+          const splitStr = item.keyId.split("-").map(Number);
+          return {
+            type: splitStr[0],
+            menuId: splitStr[1],
+            menuName: item.name,
+            code: item.code,
+            courseId:this.bfCourseId,
+            publishStatus: item.publishStatus,
+            durationTime: item.durationTime,
+            sectionType: splitStr[0] === 3 ? item.sectionType : "",
+            auditionMinute:
+              splitStr[0] === 3
+                ? this.$methodsTools.secondToDate(item.durationTime, false)
+                : undefined,
+          };
+        });
+        this.$message.success("添加成功");
+        this.dialogVisibleTableBoxs = false;
+        this.$emit("backData", ary);
+      } catch (error) {
+        this.$message.error("添加失败,请联系管理员");
+      }
+    },
+    selectCheck(value) {
+      this.activeLists = value;
+    },
+    checkboxT(row, index) {
+      if (this.disCheckList.indexOf(row.keyId) !== -1) {
+        return false;
+      } else {
+        return true;
+      }
+    },
+    handleSizeChange(v) {
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
+      this.getInfos();
+    },
+    handleCurrentChange(v) {
+      this.formData.pageNum = v;
+      this.getInfos();
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+</style>

+ 48 - 20
src/views/Marketing/goods/commodityManageMent/edit/index.vue

@@ -139,7 +139,7 @@ export default {
       if (rule.required) {
         if (!value) {
           return callback(new Error(rule.message));
-        }else{
+        } else {
           callback();
         }
       } else {
@@ -178,11 +178,11 @@ export default {
         } else {
           callback();
         }
-      }else{
-        if (this.copyNums >= 0){
+      } else {
+        if (this.copyNums >= 0) {
           return callback(new Error(`不能小于${this.copyNums}次`));
-        }else{
-          callback()
+        } else {
+          callback();
         }
       }
     };
@@ -198,13 +198,13 @@ export default {
         } else {
           callback();
         }
-      }else{
-        if (rule.field === "examNumber" && this.copyExamNumber >= 0){
+      } else {
+        if (rule.field === "examNumber" && this.copyExamNumber >= 0) {
           return callback(new Error(`不能小于${this.copyExamNumber}次`));
-        }else if (rule.field === "doNumber" && this.copyDoNumber >= 0){
+        } else if (rule.field === "doNumber" && this.copyDoNumber >= 0) {
           return callback(new Error(`不能小于${this.copyDoNumber}次`));
-        }else{
-          callback()
+        } else {
+          callback();
         }
       }
     };
@@ -234,7 +234,7 @@ export default {
       listData: {
         coverUrl: "oss/images/avatar/20211013/1634097664410_1397766697",
         goodsType: "",
-        certificateTypeId:"",
+        certificateTypeId: "",
       },
       rules: {
         year: [
@@ -339,11 +339,21 @@ export default {
           },
         ],
         standPrice: [
-          { required: true, message: "请输入标准价格", trigger: "blur",type:"number" },
+          {
+            required: true,
+            message: "请输入标准价格",
+            trigger: "blur",
+            type: "number",
+          },
           { validator: validatorstandPrice, trigger: "blur" },
         ],
         lowestPrice: [
-          { required: true, message: "请输入最低价格", trigger: "blur",type:"number" },
+          {
+            required: true,
+            message: "请输入最低价格",
+            trigger: "blur",
+            type: "number",
+          },
           { validator: validatorlowestPrice, trigger: "blur" },
         ],
         standPriceJson: [
@@ -961,13 +971,31 @@ export default {
           }
         );
         //课程数据格式转换
-        data.courseList = this.$refs.courseContent.tableData.map((item) => {
-          return {
-            courseId: item.courseId,
-            sort: Number(item.sort),
-          };
-        });
-        resolve();
+        if (this.$refs.courseContent.tableData.length > 0) {
+          if (this.$refs.courseContent.tableData[0].type) {
+            data.menuList = this.$refs.courseContent.tableData.map((item) => {
+              item.sort = Number(item.sort);
+              return item;
+            });
+          } else {
+            data.courseList = this.$refs.courseContent.tableData.map((item) => {
+              return {
+                courseId: item.courseId,
+                sort: Number(item.sort),
+              };
+            });
+          }
+        } else {
+          data.courseList = [];
+          data.menuList = [];
+        }
+        this.$api.obtainCourseSgoodsId(this.listData.goodsId).then((res) => {
+          if (res.rows.length === 1 && res.rows[0].courseShow === 0) {
+            data.courseId = res.rows[0].courseId;
+          }
+        }).finally(()=>{
+          resolve();
+        })
       });
     },
     /**

+ 116 - 77
src/views/Marketing/goods/commodityManageMent/poppleSet.vue

@@ -6,6 +6,7 @@
       @open="openExpand"
       :show-close="false"
       :close-on-click-modal="false"
+      destroy-on-close
     >
       <div slot="title" class="hearders">
         <div class="leftTitle">试听设置</div>
@@ -20,38 +21,39 @@
       <div style="text-align: end">
         <el-button type="text" @click="inits">重置</el-button>
       </div>
-      <el-tree
-        ref="trees"
-        :data="datas"
-        :props="layoutTreeProps"
-        :load="loadNode"
-        lazy
-        :default-checked-keys="audition"
-        :show-checkbox="true"
-        :check-strictly="true"
-        @check-change="getCheckedKeys"
-        node-key="onlyId"
-      >
-        <span class="custom-tree-node" slot-scope="{ node }">
-          <span>{{ node.label }}</span>
-          <span v-if="node.checked && node.data.sectionType !== 2"
-            >试听前
-            <el-time-picker
-              style="width: 140px"
-              size="mini"
-              value-format="HH:mm:ss"
-              range-separator="-"
-              v-model="node.data.auditionMinute"
-              :picker-options="{
-                selectableRange: compTimes(node.data.durationTime),
-              }"
-              placeholder="请选择试听时长"
-              @blur="changeNum(node)"
-            >
-            </el-time-picker>
+        <el-tree
+          v-if="showPop"
+          ref="trees"
+          :data="datas"
+          :props="layoutTreeProps"
+          :load="loadNode"
+          lazy
+          :default-checked-keys="audition"
+          :show-checkbox="true"
+          :check-strictly="true"
+          @check-change="getCheckedKeys"
+          node-key="onlyId"
+        >
+          <span class="custom-tree-node" slot-scope="{ node }">
+            <span>{{ node.label }}</span>
+            <span v-if="node.checked && node.data.sectionType !== 2"
+              >试听前
+              <el-time-picker
+                style="width: 140px"
+                size="mini"
+                value-format="HH:mm:ss"
+                range-separator="-"
+                v-model="node.data.auditionMinute"
+                :picker-options="{
+                  selectableRange: compTimes(node.data.durationTime),
+                }"
+                placeholder="请选择试听时长"
+                @blur="changeNum(node)"
+              >
+              </el-time-picker>
+            </span>
           </span>
-        </span>
-      </el-tree>
+        </el-tree>
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
         <el-button type="primary" @click="submitTable">确 定</el-button>
@@ -66,6 +68,7 @@ export default {
   data() {
     return {
       copyData: [],
+      showPop: false,
       datas: [],
       audition: [],
       auditionListCope: [],
@@ -102,34 +105,43 @@ export default {
         var arrays = this.$refs.trees;
         //修改指定项的 auditionMinute
         arrays.root.childNodes.forEach((item, index) => {
-          item.childNodes.forEach((items, indexs) => {
+          if (item.data.type && item.data.type === 3) {
             if (
-              items.data.TypeId === v.data.TypeId &&
-              items.data.courseId === v.data.courseId
+              item.data.TypeId === v.data.TypeId &&
+              item.data.courseId === v.data.courseId
             ) {
-              items.data.auditionMinute = v.data.auditionMinute;
+              item.data.auditionMinute = v.data.auditionMinute;
             }
-            if (items.childNodes.length) {
-              items.childNodes.forEach((ik) => {
-                if (
-                  ik.data.TypeId === v.data.TypeId &&
-                  ik.data.courseId === v.data.courseId
-                ) {
-                  ik.data.auditionMinute = v.data.auditionMinute;
-                }
-                if (ik.childNodes.length) {
-                  ik.childNodes.forEach((iks) => {
-                    if (
-                      iks.data.TypeId === v.data.TypeId &&
-                      iks.data.courseId === v.data.courseId
-                    ) {
-                      iks.data.auditionMinute = v.data.auditionMinute;
-                    }
-                  });
-                }
-              });
-            }
-          });
+          } else {
+            item.childNodes.forEach((items, indexs) => {
+              if (
+                items.data.TypeId === v.data.TypeId &&
+                items.data.courseId === v.data.courseId
+              ) {
+                items.data.auditionMinute = v.data.auditionMinute;
+              }
+              if (items.childNodes.length) {
+                items.childNodes.forEach((ik) => {
+                  if (
+                    ik.data.TypeId === v.data.TypeId &&
+                    ik.data.courseId === v.data.courseId
+                  ) {
+                    ik.data.auditionMinute = v.data.auditionMinute;
+                  }
+                  if (ik.childNodes.length) {
+                    ik.childNodes.forEach((iks) => {
+                      if (
+                        iks.data.TypeId === v.data.TypeId &&
+                        iks.data.courseId === v.data.courseId
+                      ) {
+                        iks.data.auditionMinute = v.data.auditionMinute;
+                      }
+                    });
+                  }
+                });
+              }
+            });
+          }
         });
 
         this.auditionListCope.forEach((items) => {
@@ -146,27 +158,23 @@ export default {
      * 重置按钮
      */
     inits() {
+      this.showPop = false;
       if (this.auditionList) {
         this.auditionListCope = JSON.parse(JSON.stringify(this.auditionList));
-        this.$nextTick(() => {
-          this.audition = [];
-        });
       }
       this.datas = JSON.parse(JSON.stringify(this.copyData));
+      setTimeout(() => {
+        this.showPop = true;
+      }, 50);
     },
     /**
      * 弹窗打开触发
      */
     openExpand() {
+      this.showPop = true;
       if (this.auditionList) {
         this.auditionListCope = JSON.parse(JSON.stringify(this.auditionList));
-        this.$nextTick(() => {
-          this.audition = [];
-        });
       }
-      this.$nextTick(() => {
-        this.inits();
-      });
     },
     /**
      * @param {Objact,Bool} 当前点击数据 当前是否勾选
@@ -215,7 +223,6 @@ export default {
             }
           }
         });
-
         var pdst = self.auditionListCope.filter((itx, indx) => {
           if (itx.courseId != item.courseId) {
             return itx;
@@ -245,21 +252,53 @@ export default {
     loadNode(node, resolve) {
       var self = this;
       if (node.level === 0) {
-        this.tableData.map((item) => {
-          item.TypeId = "0-" + item.courseId;
-          item.disabled = true;
-          item.hasChildren = true;
-        });
-        this.copyData = JSON.parse(JSON.stringify(this.tableData));
-        return resolve(this.tableData);
+        if (this.tableData[0].type > 0) {
+          this.tableData.forEach((item) => {
+            item.TypeId = `${item.type}-${item.menuId}`;
+            if (item.type === 3) {
+              console.log(item,'item')
+              item.hasChildren = false;
+              item.disabled = false;
+              item.onlyId = `${item.courseId || 0}-0-0-${item.menuId}`;
+              if (self.getAllSeNum.indexOf(item.onlyId) === -1) {
+                self.getAllSeNum.push(item.onlyId);
+              }
+              if (self.auditionListCope) {
+                self.auditionListCope.map((items) => {
+                  if (items.TypeId === item.TypeId) {
+                    if (self.audition.indexOf(item.onlyId) === -1) {
+                      self.audition.push(item.onlyId);
+                    }
+                    item.auditionMinute = items.auditionMinute;
+                  }
+                });
+              }
+            } else {
+              item.hasChildren = true;
+              item.disabled = true;
+            }
+          });
+          this.copyData = JSON.parse(JSON.stringify(this.tableData));
+          return resolve(this.tableData);
+        } else {
+          this.tableData.forEach((item) => {
+            item.TypeId = "0-" + item.courseId;
+            item.disabled = true;
+            item.hasChildren = true;
+          });
+          this.copyData = JSON.parse(JSON.stringify(this.tableData));
+          return resolve(this.tableData);
+        }
       } else {
         if (node.data.type === 1) {
           this.$api
             .inquireCourseListmodulechapter(node.data.menuId)
             .then((res) => {
               res.data.map((item) => {
-                item.onlyId = `${node.data.courseId}-${node.data.menuId}-${item.chapterId}-0`;
-                item.courseId = node.data.courseId;
+                item.onlyId = `${node.data.courseId || 0}-${node.data.menuId}-${
+                  item.chapterId
+                }-0`;
+                item.courseId = node.data.courseId || 0;
                 item.TypeId = "2" + "-" + item.chapterId;
                 item.hasChildren = true;
                 item.disabled = true;
@@ -273,7 +312,7 @@ export default {
             .inquireCoursechaptersectionlist(node.data.menuId)
             .then((res) => {
               res.data.map((item) => {
-                item.onlyId = `${node.data.courseId}-${
+                item.onlyId = `${node.data.courseId || 0}-${
                   node.data.moduleId ? node.data.moduleId : 0
                 }-${item.chapterId}-${item.sectionId}`;
                 if (this.getAllSeNum.indexOf(item.onlyId) === -1) {
@@ -286,7 +325,7 @@ export default {
                   item.durationTime,
                   false
                 );
-                item.courseId = node.data.courseId;
+                item.courseId = node.data.courseId || 0;
                 if (self.auditionListCope) {
                   self.auditionListCope.map((items) => {
                     if (

+ 1 - 1
src/views/education/classManageMent/studentMenu/index.vue

@@ -685,7 +685,7 @@ export default {
           scope: "TimeLists",
         },
         {
-          label: "结业状态",
+          label: "学完状态",
           prop: "finishStatus",
           hidden: true,
           scope: "finishStatus",

+ 5 - 5
src/views/education/mockTestManagement/mockExamArrangement/addMockExam/index.vue

@@ -308,11 +308,11 @@ export default {
           array.sort((a, b) => {
             return a - b;
           });
-          if (data.timeArray[1] >= array[0]) {
-            this.$message.error("预约时间需要不得超过考试时间,请重新设置");
-            this.disabledBtn = false;
-            return;
-          }
+          // if (data.timeArray[1] >= array[0]) {
+          //   this.$message.error("预约时间需要不得超过考试时间,请重新设置");
+          //   this.disabledBtn = false;
+          //   return;
+          // }
           for (let i = 0; i < this.newCourTypeOptions.length; i++) {
             if (data.businessId === this.newCourTypeOptions[i].id) {
               data.projectId = this.newCourTypeOptions[i].projectId;

+ 14 - 13
src/views/index.vue

@@ -423,19 +423,19 @@
         <p>填写资料审核</p>
         <div class="style_box flex1">
           <p class="p1">待审数量</p>
-          <p class="p3" @click="jumpPage(15,null,2)">
+          <p class="p3" @click="jumpPage(15, null, 2)">
             {{ uploadAnimalData.pendingTrialNum.toFixed(0) }}
           </p>
           <div class="foot_box">
             <div class="foot_box_list" style="margin-right: 16px">
               <div class="top_label">不通过数量</div>
-              <div class="nums" @click="jumpPage(15,null,3)">
+              <div class="nums" @click="jumpPage(15, null, 3)">
                 {{ periodconsoleprofileData.unPassNum || 0 }}
               </div>
             </div>
             <div class="foot_box_list">
               <div class="top_label">通过数量</div>
-              <div class="nums" @click="jumpPage(15,null,1)">
+              <div class="nums" @click="jumpPage(15, null, 1)">
                 {{ periodconsoleprofileData.passNum || 0 }}
               </div>
             </div>
@@ -445,26 +445,26 @@
       <div class="flex_boxs dy_sty4">
         <p>学时审核</p>
         <div class="style_box_tran_yellow">
-          <div class="imgIBx imgUrl4 imgSize" @click="jumpPage(16,null,2)">
+          <div class="imgIBx imgUrl4 imgSize" @click="jumpPage(16, null, 2)">
             <p class="p1">待初审</p>
             <p class="p2">{{ uploadAnimalData.waitAllNum.toFixed(0) }}</p>
           </div>
           <div class="li_s">
             <div class="li_s_child">
               <span class="li_s_child_left">今日新增</span
-              ><span class="li_s_child_right" @click="jumpPage(16,1,2)">{{
+              ><span class="li_s_child_right" @click="jumpPage(16, 1, 2)">{{
                 periodconsoleData.waitTodNum || 0
               }}</span>
             </div>
             <div class="li_s_child">
               <span class="li_s_child_left">昨日新增</span
-              ><span class="li_s_child_right" @click="jumpPage(16,2,2)">{{
+              ><span class="li_s_child_right" @click="jumpPage(16, 2, 2)">{{
                 periodconsoleData.waitYtdNum || 0
               }}</span>
             </div>
             <div class="li_s_child">
               <span class="li_s_child_left">近7日新增</span
-              ><span class="li_s_child_right" @click="jumpPage(16,3,2)">{{
+              ><span class="li_s_child_right" @click="jumpPage(16, 3, 2)">{{
                 periodconsoleData.waitSevNum || 0
               }}</span>
             </div>
@@ -475,26 +475,26 @@
         <p class="tranSty">xxx</p>
 
         <div class="style_box_tran_yellow">
-          <div class="imgIBx imgUrl5 imgSize" @click="jumpPage(16,null,3)">
+          <div class="imgIBx imgUrl5 imgSize" @click="jumpPage(16, null, 3)">
             <p class="p1">待复审</p>
             <p class="p2">{{ uploadAnimalData.ingAllNum.toFixed(0) }}</p>
           </div>
           <div class="li_s">
             <div class="li_s_child">
               <span class="li_s_child_left">今日新增</span
-              ><span class="li_s_child_right" @click="jumpPage(16,1,3)">{{
+              ><span class="li_s_child_right" @click="jumpPage(16, 1, 3)">{{
                 periodconsoleData.ingTodNum || 0
               }}</span>
             </div>
             <div class="li_s_child">
               <span class="li_s_child_left">昨日新增</span
-              ><span class="li_s_child_right" @click="jumpPage(16,2,3)">{{
+              ><span class="li_s_child_right" @click="jumpPage(16, 2, 3)">{{
                 periodconsoleData.ingYtdNum || 0
               }}</span>
             </div>
             <div class="li_s_child">
               <span class="li_s_child_left">近7日新增</span
-              ><span class="li_s_child_right" @click="jumpPage(16,3,3)">{{
+              ><span class="li_s_child_right" @click="jumpPage(16, 3, 3)">{{
                 periodconsoleData.ingSevNum || 0
               }}</span>
             </div>
@@ -760,11 +760,11 @@ export default {
       });
       gsap.to(this.$data.uploadAnimalData, {
         duration: 0.5,
-        allPreNumClass: val.allOpenNum,
+        allOpenNumClass: val.allOpenNum,
       });
       gsap.to(this.$data.uploadAnimalData, {
         duration: 0.5,
-        allOpenNumClass: val.allPreNum,
+        allPreNumClass: val.allPreNum,
       });
     },
     periodconsoleData(val) {
@@ -1595,6 +1595,7 @@ export default {
 }
 .tranSty {
   color: transparent !important;
+  visibility: hidden !important;
   user-select: none;
 }
 .flex1 {