瀏覽代碼

细节调整

Tang 2 年之前
父節點
當前提交
04a7d5137a

+ 2 - 0
src/components/searchBoxNew.vue

@@ -116,6 +116,7 @@
           >
             <el-option
               v-for="(items, indexs) in educationType"
+              v-show="!item.filter || (item.filter && items.educationName === '继续教育')"
               :key="indexs"
               :label="items.educationName"
               :value="items.id"
@@ -146,6 +147,7 @@
             <el-option
               v-for="(items, indexs) in newBusinessLevel"
               :key="indexs"
+              v-show="!item.filter || (item.filter && (items.projectName === '造价师' || items.projectName === '建造师') && items.businessName === '二级')"
               :label="items.projectName + '-' + items.businessName"
               :value="items.id"
             ></el-option>

+ 25 - 0
src/newApi/classTab.js

@@ -264,4 +264,29 @@ export default {
             data
         })
     },
+    //查询其他平台班级学员列表
+    inquireGradegradeotherClassuser(data) {
+        return request({
+            url: '/grade/grade/other/Class/user',
+            method: 'get',
+            params: data
+        })
+    },
+    //获取平台列表
+    inquiresystemoldorglist(data) {
+        return request({
+            url: '/system/old/org/list',
+            method: 'get',
+            params: data
+        })
+    },
+    //导出班级学员列表
+    inquireGradegradeotherClassuserexport(data) {
+        return request({
+            url: '/grade/grade/other/Class/user/export',
+            method: 'get',
+            params: data
+        })
+    },
+    
 }

+ 1 - 1
src/utils/request.js

@@ -8,7 +8,7 @@ import methods from '@/utils/methodsTool';
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 创建axios实例
 export const baseURL = process.env.VUE_APP_BASE_API
-// export const baseURL = 'http://192.168.1.24:5030/'
+// export const baseURL = 'http://192.168.1.7:5030/'
 export const BASE_IMG_URL = process.env.VUE_APP_IMG_API
 const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分

+ 6 - 0
src/views/Marketing/goods/commodityManageMent/add/productInformation.vue

@@ -128,6 +128,12 @@
             v-model="listData.goodsName"
           ></el-input>
         </el-form-item>
+        <el-form-item label="商品外链" prop="externalLink">
+          <el-input
+            :style="`max-width: ${inputWidth}px`"
+            v-model.trim="listData.externalLink"
+          ></el-input>
+        </el-form-item>
         <el-form-item
           :key="listData.goodsType ? listData.goodsType : 10"
           label="学时"

+ 6 - 0
src/views/Marketing/goods/commodityManageMent/edit/productInformation.vue

@@ -121,6 +121,12 @@
             v-model="listData.goodsName"
           ></el-input>
         </el-form-item>
+        <el-form-item label="商品外链" prop="externalLink">
+          <el-input
+            :style="`max-width: ${inputWidth}px`"
+            v-model.trim="listData.externalLink"
+          ></el-input>
+        </el-form-item>
         <el-form-item
           :key="listData.goodsType ? listData.goodsType : 10"
           label="学时"

+ 2 - 2
src/views/Marketing/order/pendingRefundOrder/index.vue

@@ -96,7 +96,7 @@ export default {
         periodStatus: 0,
         pageSize: 10,
         pageNum: 1,
-        type: 2,
+        // type: 2,
       },
       // 表单
       tableSet: [
@@ -241,7 +241,7 @@ export default {
       }
       if (int === 2) {
         this.formData = {
-          type: 2,
+          // type: 2,
           goodsType: "",
           periodStatus: this.formData.periodStatus,
           pageSize: 10,

+ 23 - 6
src/views/Marketing/order/pendingRefundOrder/refundDia.vue

@@ -48,7 +48,10 @@
             </li>
           </ul>
           <ul v-if="int === 1" class="ul_sty">
-            <li><strong>初审时间:</strong>{{$methodsTools.onlyForma(item.periodTime)}}</li>
+            <li>
+              <strong>初审时间:</strong
+              >{{ $methodsTools.onlyForma(item.periodTime) }}
+            </li>
             <strong>初审结果</strong>
             <li>审核人:{{ item.periodUsername }}</li>
             <li>
@@ -81,19 +84,33 @@
               <el-radio-group
                 v-model="item.periodStatus"
                 :size="size"
-                @change="item.periodStatusLine = ''"
+                @change="item.type === 1 && item.periodStatus === 2 ? (item.periodStatusLine = 3,item.realRefundFee?'':item.realRefundFee = item.refundFee) : item.periodStatusLine = ''"
               >
-                <el-radio :label="2">同意</el-radio>
+                <el-radio :label="2" >同意</el-radio>
                 <el-radio :label="-2">拒绝</el-radio>
               </el-radio-group>
             </div>
-            <div class="disflex_sty" v-if="item.periodStatus === 2">
+            <div
+              class="disflex_sty"
+              v-if="item.periodStatus === 2 && item.type != 1"
+            >
               <span class="spanSty"></span>
               <el-radio-group v-model="item.periodStatusLine" :size="size">
                 <el-radio :label="2">待退款</el-radio>
                 <el-radio :label="3">已退款</el-radio>
               </el-radio-group>
             </div>
+            <div class="disflex_sty" v-if="item.type === 1 && item.periodStatus === 2">
+              <span class="spanSty">退款金额:</span><span>¥</span>
+              <el-input-number
+                v-model="item.realRefundFee"
+                :precision="2"
+                :min="0.01"
+                :max="item.refundFee"
+                :controls="false"
+                @blur="item.realRefundFee ? '':item.realRefundFee = item.refundFee"
+              ></el-input-number>
+            </div>
             <div class="disflex_sty">
               <span class="spanSty">审核意见:</span>
               <el-input
@@ -190,8 +207,8 @@ export default {
         } else {
           item.applyImgs = "";
         }
-        if(this.int === 1 && item.periodStatus == 2){
-          item.periodStatus = item.periodStatusLine
+        if (this.int === 1 && item.periodStatus == 2) {
+          item.periodStatus = item.periodStatusLine;
         }
       });
       if (this.int === 0) {

+ 515 - 0
src/views/education/classManageMent/otherPlatforms/index.vue

@@ -0,0 +1,515 @@
+<template>
+  <div id="otherPlatforms">
+    <search-box-new
+      ref="searchBox"
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+    />
+    <table-list
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      @addClick="addClick"
+      :loading="loading"
+      @editInfo="editInfo"
+    >
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="addClick(props.scope.row, 2)"
+          >详情</el-button
+        >
+        <el-button type="text" @click="addClick(props.scope.row, 3)"
+          >学员管理</el-button
+        >
+        <el-button type="text" @click="del(props.scope.row)">删除</el-button>
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize="formData.pageSize"
+      :currentPage="formData.pageNum"
+      @handleSizeChange="handleSizeChange"
+      @handleCurrentChange="handleCurrentChange"
+    />
+  </div>
+</template>
+
+<script>
+import searchBoxNew from "@/components/searchBoxNew";
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+export default {
+  components: { searchBoxNew, tableList, pagination },
+  name: "OtherPlatforms",
+  data() {
+    return {
+      loading: false, //当前表单加载是否加载动画
+      navText: {
+        border: true,
+        title: "班级管理",
+        index: 0,
+        ch: "条",
+        num: false,
+        choice: true,
+        addHide: true,
+        backFatherBtn: {
+          status: false,
+          title: "未定义",
+        },
+      },
+      //搜索
+      formList: [
+        {
+          prop: "educationTypeId",
+          placeholder: "教育类型",
+          scope: "educationType",
+          filter: true,
+        },
+        {
+          prop: "businessId",
+          placeholder: "业务层次",
+          scope: "businessLevel",
+          edu: "educationTypeId",
+          filter: true,
+        },
+        {
+          prop: "schoolId",
+          placeholder: "院校",
+          scope: "schoolList",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "majorId",
+          placeholder: "专业",
+          scope: "Professional",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "subjectId",
+          placeholder: "科目",
+          scope: "sujectType",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "classStatus",
+          placeholder: "开班状态",
+          scope: "select",
+          options: [
+            { label: "已开班", value: 1 },
+            { label: "预报名(未开班)", value: 0 },
+          ],
+        },
+        {
+          prop: "status",
+          placeholder: "班级状态",
+          scope: "select",
+          noClear: false,
+          options: [
+            { label: "全部状态", value: "0,1" },
+            { label: "无效", value: 0 },
+            { label: "有效", value: 1 },
+          ],
+        },
+        {
+          prop1: "classStartTime",
+          prop2: "classEndTime",
+          placeholder1: "班级有效期开始时间",
+          placeholder2: "班级有效期结束时间",
+          scope: "moreDataPicker",
+        },
+        {
+          prop: "searchKey",
+          placeholder: "请输入班级名称/商品名称/学员姓名",
+        },
+      ],
+      formData: {
+        status: "0,1",
+        pageSize: 10,
+        pageNum: 1,
+        classStatus: "",
+      },
+      // 表单
+      tableSet: [
+        {
+          label: "商品编码",
+          prop: "code",
+          objProp: "goodsList",
+          hidden: false,
+          scope: "objType",
+        },
+        {
+          label: "年份",
+          prop: "year",
+          objProp: "goodsList",
+          hidden: false,
+          scope: "objType",
+        },
+        {
+          label: "商品业务层级",
+          prop1: "educationName",
+          prop2: "projectName",
+          prop3: "businessName",
+          objProp: "goodsList",
+          hidden: false,
+          scope: "objTypeYW",
+        },
+        {
+          label: "商品名称",
+          prop: "goodsName",
+          objProp: "goodsList",
+          hidden: true,
+          scope: "objType",
+        },
+        {
+          label: "科目",
+          prop: "subjectNames",
+          hidden: true,
+        },
+        {
+          label: "班级编码",
+          prop: "gradeCode",
+          hidden: false,
+        },
+        {
+          label: "班级号",
+          prop: "classStatus",
+          prop1: "officialName",
+          hidden: true,
+          scope: "classTypes",
+        },
+        {
+          label: "班级名称",
+          prop: "className",
+          hidden: true,
+          scope: "editInfo",
+        },
+        {
+          label: "学时",
+          prop: "classHours",
+          objProp: "goodsList",
+          hidden: false,
+          scope: "objType",
+        },
+        {
+          label: "班主任",
+          prop: "nickName",
+          hidden: false,
+        },
+        {
+          label: "班级总人数",
+          prop1: "studentNumAll",
+          prop2: "studentUpper",
+          hidden: true,
+          scope: "peopleNums",
+        },
+        {
+          label: "开放学习时间",
+          prop: "learningStatus",
+          prop1: "learningTimeStart",
+          hidden: true,
+          scope: "classTimeTypes",
+        },
+        {
+          label: "班级状态",
+          prop: "status",
+          hidden: false,
+          scope: "hasTime",
+        },
+        {
+          label: "班级有效期",
+          prop1: "classStartTime",
+          prop2: "classEndTime",
+          hidden: true,
+          Diszing: false,
+          scope: "TimeLists",
+        },
+      ],
+      tableData: [], //表单数据
+      total: 0, //一共多少条
+    };
+  },
+  async mounted() {
+    await this.moRenBus();
+    this.search();
+  },
+  activated() {
+    this.search();
+  },
+  methods: {
+    /**
+     * 默认选择继教二建业务层次
+     */
+    moRenBus() {
+      return new Promise((resolve, reject) => {
+        this.$api.inquireCourseEducationType({ status: 1 }).then((res) => {
+          for (let i = 0; i < res.rows.length; i++) {
+            if (res.rows[i].educationName === "继续教育") {
+              this.$api
+                .inquirebusinessList({ status: 1, educationId: res.rows[i].id })
+                .then((result) => {
+                  for (let j = 0; j < result.rows.length; j++) {
+                    if (
+                      result.rows[j].projectName === "建造师" &&
+                      result.rows[j].businessName === "二级"
+                    ) {
+                      this.$set(
+                        this.formData,
+                        "educationTypeId",
+                        res.rows[i].id
+                      );
+                      this.$refs.searchBox.changeEducationType(
+                        res.rows[i].id,
+                        true
+                      );
+                      this.$set(this.formData, "businessId", result.rows[j].id);
+                      this.$refs.searchBox.changeBusinessLevel(
+                        result.rows[j].id
+                      );
+                      resolve();
+                      break;
+                    }
+                  }
+                });
+              break;
+            }
+          }
+        });
+      });
+    },
+    editInfo(v) {
+      this.addClick(v, 2);
+    },
+    search(int) {
+      this.loading = true;
+      if (int === 1) {
+        this.formData.pageNum = 1;
+      }
+      if (int === 2) {
+        this.formData = {
+          educationTypeId: this.formData.educationTypeId,
+          businessId: this.formData.businessId,
+          status: "0,1",
+          pageSize: 10,
+          pageNum: 1,
+          classStatus: "",
+        };
+      }
+      if (int === 4) {
+        this.formData.pageNum = 1;
+      }
+      var data = JSON.parse(JSON.stringify(this.formData));
+      if (this.formData.classStartTime) {
+        data.classStartTime = parseInt(data.classStartTime / 1000);
+      }
+      if (this.formData.classEndTime) {
+        data.classEndTime = parseInt(data.classEndTime / 1000);
+      }
+      this.$api
+        .inquireGradegradeList(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    init() {
+      this.search(2);
+    },
+    del(v) {
+      this.$alert(
+        "确定删除此内容?<br />内容删除后将无法恢复,请慎重考虑",
+        "提示",
+        {
+          dangerouslyUseHTMLString: true,
+        }
+      )
+        .then(() => {
+          var data = {
+            gradeId: v.gradeId,
+            status: -1,
+          };
+          this.$api.editGradegrade(data).then((res) => {
+            this.$message.success("删除成功");
+            this.search();
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+    addClick(v, int) {
+      // int = 2详情 3学员管理
+      if (v === undefined) {
+        // 添加班级
+        this.$router.push({
+          path: "addClass",
+        });
+      } else {
+        if (int === 2) {
+          const jump = () => {
+            //班级详情
+            this.$router.push({
+              path: "manageClass",
+              query: {
+                id: v.gradeId,
+              },
+            });
+          };
+          const statusPage = this.$store.state.tagsView.visitedViews.some(
+            (item) => {
+              return item.name == "ManageClass";
+            }
+          );
+          if (statusPage) {
+            this.$store
+              .dispatch("tagsView/delCachedView", {
+                name: "ManageClass",
+              })
+              .then((res) => {
+                jump();
+              });
+          } else {
+            jump();
+          }
+        }
+        if (int === 3) {
+          // 学员管理
+          const jump = () => {
+            this.$router.push({
+              path: "otherPlatformsChild",
+              query: {
+                id: v.gradeId,
+              },
+            });
+          };
+          const statusPage = this.$store.state.tagsView.visitedViews.some(
+            (item) => {
+              return item.name == "OtherPlatformsChild";
+            }
+          );
+          if (statusPage) {
+            this.$store
+              .dispatch("tagsView/delCachedView", {
+                name: "OtherPlatformsChild",
+              })
+              .then((res) => {
+                jump();
+              });
+          } else {
+            jump();
+          }
+        }
+      }
+    },
+    handleSizeChange(v) {
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
+      this.search();
+    },
+    handleCurrentChange(v) {
+      this.formData.pageNum = v;
+      this.search();
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+/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>
+

+ 699 - 0
src/views/education/classManageMent/otherPlatforms/manageClass/baseInfo.vue

@@ -0,0 +1,699 @@
+<template>
+  <div id="baseInfo">
+    <div class="YZsty">
+      <el-row :gutter="20">
+        <el-form
+          label-position="right"
+          label-width="130px"
+          :model="listData"
+          :rules="rules"
+          ref="listData"
+        >
+          <el-col :span="24">
+            <el-form-item label="所属商品课程">
+              <div class="flex_s">
+                <div>商品编码:{{ listData.goodsList[0].code }}</div>
+                <div style="display: flex">
+                  <div>商品业务层级:</div>
+                  <div style="flex: 1">
+                    {{
+                      `${listData.goodsList[0].educationName}-${listData.goodsList[0].projectName}-${listData.goodsList[0].businessName}`
+                    }}
+                  </div>
+                </div>
+                <div>学时:{{ listData.goodsList[0].classHours }}</div>
+                <div>年份:{{ listData.goodsList[0].year }}</div>
+                <div>商品名称:{{ listData.goodsList[0].goodsName }}</div>
+              </div>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <div class="fgx"></div>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="班级编码" prop="gradeCode">
+              <el-input
+                disabled
+                v-model="listData.gradeCode"
+                placeholder="请填写班级编码"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="班级名称" prop="className">
+              <el-input
+                v-model="listData.className"
+                placeholder="请填写班级名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="学员上限" prop="studentUpper">
+              <el-input-number
+                :min="minNums"
+                :controls="false"
+                v-model="listData.studentUpper"
+                placeholder="请填写学员上限"
+              ></el-input-number>
+            </el-form-item>
+            <el-form-item label="当前学员人数" prop="studentNum">
+              <el-input-number
+                :min="minNums"
+                :controls="false"
+                disabled
+                v-model="listData.studentNum"
+                placeholder="请填写学员上限"
+              ></el-input-number>
+            </el-form-item>
+            <el-form-item
+              label="开放学习时间"
+              :prop="
+                listData.learningStatus == 3
+                  ? 'learningTimeStart'
+                  : 'learningStatus'
+              "
+            >
+              <!-- <el-button
+              style="margin-right: 14px"
+              size="mini"
+              v-if="listData.learningStatus"
+              @click="listData.learningStatus = ''"
+              >清除选择</el-button
+            > -->
+              <el-radio-group
+                v-model="listData.learningStatus"
+                @change="changeLearning"
+              >
+                <el-radio :label="1">即刻</el-radio>
+                <el-radio :label="2">待定</el-radio>
+                <el-radio :label="3">日期</el-radio>
+              </el-radio-group>
+              <el-date-picker
+                v-if="listData.learningStatus === 3"
+                v-model="listData.learningTimeStart"
+                type="datetime"
+                value-format="timestamp"
+                placeholder="请选择开放学习时间"
+              >
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="状态" prop="status">
+              <el-radio-group v-model="listData.status">
+                <el-radio :label="1">有效</el-radio>
+                <el-radio :label="0">无效</el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="官方班级号">
+              <el-button
+                style="margin-right: 14px"
+                size="mini"
+                v-if="
+                  (listData.classStatus || listData.classStatus === 0) &&
+                  !classStatusDis
+                "
+                @click="clearClassNumber"
+                >清除选择</el-button
+              >
+              <el-radio-group
+                v-model="listData.classStatus"
+                @change="changeClassStatus"
+                :disabled="classStatusDis"
+              >
+                <el-radio :label="0">预报名(未开班)</el-radio>
+                <el-radio :label="1">已开班</el-radio>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item
+              label=""
+              prop="officialName"
+              v-if="listData.classStatus === 1"
+            >
+              <el-input
+                :disabled="classStatusDis"
+                placeholder="请填写继教二建官方班级"
+                v-model="listData.officialName"
+              ></el-input>
+            </el-form-item>
+            <div class="dis_style" v-if="listData.classStatus === 1">
+              <el-form-item label="班级有效期" prop="classStartTime">
+                <el-date-picker
+                  v-model="listData.classStartTime"
+                  type="datetime"
+                  value-format="timestamp"
+                  placeholder="选择开始日期时间"
+                  @change="changeTimeList1"
+                  :disabled="classStartStatus"
+                >
+                </el-date-picker>
+              </el-form-item>
+              <el-form-item label-width="10px" label="" prop="classEndTime">
+                <el-date-picker
+                  v-model="listData.classEndTime"
+                  type="datetime"
+                  value-format="timestamp"
+                  placeholder="选择结束日期时间"
+                  @change="changeTimeList2"
+                  :disabled="classEndStatus"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </div>
+
+            <!-- <el-tooltip class="item" effect="dark" placement="right">
+                <div slot="content">
+                  商品学习有效期:{{
+                    $methodsTools.onlyForma(
+                      listData.goodsList[0].studyStartTime
+                    )
+                  }}
+                  至
+                  {{
+                    $methodsTools.onlyForma(listData.goodsList[0].studyEndTime)
+                  }}
+                </div>
+                <i
+                  style="margin-left: 10px; font-size: 20px; color: #e6a23c"
+                  v-show="timeArrays.length"
+                  class="el-icon-warning"
+                ></i>
+              </el-tooltip> -->
+            <el-form-item label="考期" prop="examineId">
+              <el-select
+                v-model="listData.examineId"
+                placeholder="请选择考期"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in courseExamine"
+                  :key="index"
+                  :label="item.examineName"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="报考地区(省)" prop="areasId">
+              <el-select
+                v-model="listData.areasId"
+                placeholder="请选择报考地区(省)"
+                @change="getNewCityList"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in areas"
+                  :key="index"
+                  :label="item.areaName"
+                  :value="item.areaId"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item
+              label="报考地区(地市)"
+              :prop="listData.areasId ? 'cityId' : ''"
+              v-if="listData.areasId"
+            >
+              <el-select
+                v-model="listData.cityId"
+                placeholder="请选择报考地区(地市)"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in newCityList"
+                  :key="index"
+                  :label="item.areaName"
+                  :value="item.areaId"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="指派班主任">
+              <el-select
+                v-model="listData.sysUserId"
+                placeholder="请选择指派班主任"
+                clearable
+              >
+                <el-option
+                  v-for="(item, index) in teacherList"
+                  :key="index"
+                  :label="item.nickName"
+                  :value="item.userId"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <div v-if="statusShow === 1">
+              <el-form-item label="官方信息推送" prop="interfacePushId">
+                <el-select
+                  v-model="listData.interfacePushId"
+                  placeholder="请选择官方信息推送"
+                  :disabled="copyData.interfacePushId ? true : false"
+                  clearable
+                >
+                  <el-option
+                    v-for="(item, index) in type1List"
+                    :key="index"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="官方学时推送" prop="interfacePeriodId">
+                <el-select
+                  v-model="listData.interfacePeriodId"
+                  placeholder="请选择官方学时推送"
+                  :disabled="copyData.interfacePeriodId ? true : false"
+                  clearable
+                >
+                  <el-option
+                    v-for="(item, index) in type3List"
+                    :key="index"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="官方账号标记(有接口+标记功能)">
+                <el-select
+                  v-model="listData.interfaceAccountId"
+                  placeholder="请选择官方学习账号开通"
+                  :disabled="
+                    copyData.noInterfaceAccountId || copyData.interfaceAccountId
+                      ? true : listData.noInterfaceAccountId ? true
+                      : false
+                  "
+                  clearable
+                >
+                  <el-option
+                    v-for="(item, index) in type2List"
+                    :key="index"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="官方账号标记(无接口+标记功能)">
+                <el-select
+                  v-model="listData.noInterfaceAccountId"
+                  placeholder="请选择官方账号标记(无接口+标记功能)"
+                  :disabled="
+                    copyData.noInterfaceAccountId || copyData.interfaceAccountId
+                      ? true : listData.interfaceAccountId ? true
+                      : false
+                  "
+                  clearable
+                >
+                  <el-option
+                    v-for="(item, index) in type4List"
+                    :key="index"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <!-- <el-form-item
+                v-if="listData.interfaceAccountId"
+                label="学习网址"
+                prop="officialLearningUrl"
+              >
+                <el-input
+                  v-model="listData.officialLearningUrl"
+                  placeholder="请输入学习的网址"
+                ></el-input>
+              </el-form-item> -->
+            </div>
+            <el-form-item label="备注" prop="remark">
+              <el-input
+                type="textarea"
+                :rows="5"
+                v-model="listData.remark"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" style="text-align: center">
+            <el-button @click="backPage">返回</el-button>
+            <el-button type="primary" @click="submitForm('listData')"
+              >确定</el-button
+            >
+          </el-col>
+        </el-form>
+      </el-row>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+export default {
+  data() {
+    return {
+      copyData: {},
+      classStartStatus: false,
+      classEndStatus: false,
+      minNums: 0,
+      listData: {
+        goodsList: [{}],
+      },
+      rules: {
+        className: [
+          { required: true, message: "请填写班级名称", trigger: "blur" },
+        ],
+        officialLearningUrl: [
+          { required: true, message: "请输入学习的网址", trigger: "blur" },
+        ],
+        officialName: [
+          { required: true, message: "请填写官方班级", trigger: "blur" },
+        ],
+        studentUpper: [
+          { required: true, message: "请填写学员上限", trigger: "blur" },
+          {
+            validator(rule, value, callback) {
+              var reg = /^[1-9]\d*$/;
+              if (reg.test(value)) {
+                callback();
+              } else {
+                callback(new Error("请规范输入学员上限数量"));
+              }
+            },
+            trigger: "blur",
+          },
+        ],
+        studentNum: [
+          { required: true, message: "请填写学员上限", trigger: "blur" },
+        ],
+        classStartTime: [
+          { required: true, message: "请选择开始时间", trigger: "change" },
+        ],
+        classEndTime: [
+          { required: true, message: "请选择结束时间", trigger: "change" },
+        ],
+        status: [{ required: true, message: "请选择状态", trigger: "change" }],
+        learningTimeStart: [
+          {
+            type: "date",
+            required: true,
+            message: "请选择开放学习时间",
+            trigger: "change",
+          },
+        ],
+        cityId: [
+          {
+            required: true,
+            message: "请选择报考地市",
+            trigger: ["blur", "change"],
+          },
+        ],
+      },
+      cityList: [],
+      classStatusDis: false,
+      newCityList: [],
+      //	1官方推送 2官方学习账号开通 3官方学时推送
+      type1List: [],
+      type2List: [],
+      type3List: [],
+      type4List: [],
+      teacherList: [],
+      statusShow: 0, //0隐藏1出现
+      timeArrays: [], //限制班级有效期时间
+      disabledFunc: false,
+    };
+  },
+  computed: { ...mapGetters(["courseExamine", "areas"]) },
+  mounted() {
+    this.$modal.loading("正在导入数据,请稍后...");
+    this.getInfoCityDict();
+    this.getVoselect();
+    this.search();
+  },
+  methods: {
+    clearClassNumber() {
+      this.listData.classStatus = "";
+      this.changeClassStatus();
+    },
+    changeTimeList1(arr) {
+      if (!arr) {
+        return;
+      }
+      // if (arr < this.timeArrays[0] || arr >= this.timeArrays[1]) {
+      //   this.$message.warning("超出商品学习有效期,请重新选择");
+      //   this.listData.classStartTime = "";
+      // } else
+      if (this.listData.classEndTime && arr > this.listData.classEndTime) {
+        this.$message.warning("开始时间不能大于等于结束时间,请重新选择");
+        this.listData.classStartTime = "";
+      }
+    },
+    changeTimeList2(arr) {
+      if (!arr) {
+        return;
+      }
+      // if (arr < this.timeArrays[0] || arr > this.timeArrays[1]) {
+      //   this.$message.warning("超出商品学习有效期,请重新选择");
+      //   this.listData.classEndTime = "";
+      // } else
+      if (this.listData.classStartTime && arr <= this.listData.classStartTime) {
+        this.$message.warning("结束时间不能小于等于开始时间,请重新选择");
+        this.listData.classEndTime = "";
+      }
+    },
+    //   初始获取数据
+    search() {
+      this.$api
+        .obtainGradegrade(this.$route.query.id)
+        .then((res) => {
+          if (res.data.classStatus === 1) {
+            this.classStatusDis = true;
+          }
+          if (res.data.areasId) {
+            this.newCityList = this.cityList.filter((item) => {
+              return item.parentId == res.data.areasId;
+            });
+          }
+          if (res.data.learningStatus === 3) {
+            res.data.learningTimeStart = this.$methodsTools.time10to13(
+              res.data.learningTimeStart,
+              2
+            );
+          }
+          if (res.data.classStartTime && res.data.classEndTime) {
+            res.data.classStartTime = this.$methodsTools.time10to13(
+              res.data.classStartTime,
+              2
+            );
+            res.data.classEndTime = this.$methodsTools.time10to13(
+              res.data.classEndTime,
+              2
+            );
+            // classStartStatus
+            if (new Date().getTime() > res.data.classEndTime) {
+              this.classStartStatus = true;
+              this.classEndStatus = true;
+            } else {
+              this.classStartStatus = true;
+            }
+          }
+          if (
+            res.data.goodsList[0].studyStartTime &&
+            res.data.goodsList[0].studyEndTime
+          ) {
+            this.timeArrays = [
+              this.$methodsTools.time10to13(
+                res.data.goodsList[0].studyStartTime,
+                2
+              ),
+              this.$methodsTools.time10to13(
+                res.data.goodsList[0].studyEndTime,
+                2
+              ),
+            ];
+          }
+          this.minNums = res.data.studentNum;
+          this.copyData = JSON.parse(JSON.stringify(res.data));
+          this.listData = res.data;
+        })
+        .finally(() => {
+          this.$modal.closeLoading();
+        });
+    },
+    //官方接口是否出现
+    getVoselect() {
+      this.$api.inquirelistInterfaceVoselect().then((res) => {
+        if (res.data === 1) {
+          this.getGFList();
+        }
+        this.statusShow = res.data;
+      });
+      this.$api
+        .obtainUserList({ status: 1, roleName: "班主任" })
+        .then((res) => {
+          this.teacherList = res.rows;
+        });
+    },
+    //获取官方接口
+    getGFList() {
+      this.$api.inquirelistInterfaceVo().then((res) => {
+        res.rows.forEach((item) => {
+          if (item.type === 1) {
+            this.type1List.push(item);
+          }
+          if (item.type === 2) {
+            this.type2List.push(item);
+          }
+          if (item.type === 3) {
+            this.type3List.push(item);
+          }
+          if (item.type === 4) {
+            this.type4List.push(item);
+          }
+        });
+      });
+    },
+    //获取地市列表
+    getInfoCityDict() {
+      this.$api.inquireapplyCityList({ status: 1, areaType: 2 }).then((res) => {
+        this.cityList = res.rows;
+      });
+    },
+    //获取最新地市列表
+    getNewCityList(n) {
+      this.newCityList = this.cityList.filter((item) => {
+        return item.parentId == n;
+      });
+      this.listData.cityId = "";
+    },
+    //改变开放学习状态-清空选择框
+    changeLearning() {
+      this.listData.learningTimeStart = "";
+    },
+    //改变班级号状态-清空输入框
+    changeClassStatus() {
+      this.listData.officialName = "";
+      this.listData.classStartTime = "";
+      this.listData.classEndTime = "";
+      this.$nextTick(() => {
+        this.$refs.listData.clearValidate();
+      });
+    },
+    //返回
+    backPage() {
+      this.$store.dispatch("tagsView/delView", this.$route).then((res) => {
+        this.$router.push({
+          path: "classList",
+        });
+      });
+    },
+    //表单验证
+    submitForm(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.submit(); //提交
+        } else {
+          console.log("error submit!!");
+          return false;
+        }
+      });
+    },
+    //提交
+    submit() {
+      var data = JSON.parse(JSON.stringify(this.listData));
+      if (!data.classStartTime && !data.classEndTime) {
+        data.classStartTime = null;
+        data.classEndTime = null;
+      } else {
+        if (data.classStartTime && data.classEndTime) {
+          data.classStartTime = data.classStartTime / 1000;
+          data.classEndTime = data.classEndTime / 1000;
+        } else {
+          this.$message.warning("请选择班级有效期的开始时间与结束时间");
+          return;
+        }
+      }
+      if (data.learningStatus === 3) {
+        data.learningTimeStart = this.listData.learningTimeStart / 1000;
+      }
+      // if(!data.interfaceAccountId){
+      //   delete data.officialLearningUrl
+      // }
+      delete data.goodsList;
+      this.$api.editGradegrade(data).then((res) => {
+        this.$message.success("修改成功");
+        this.search();
+      });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.YZsty {
+  background-color: #eee;
+  padding: 30px;
+  margin-top: 16px;
+}
+/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;
+    }
+  }
+}
+/deep/.radioTables > .el-radio__label {
+  display: none;
+}
+.fgx {
+  border-bottom: 1px dashed #999;
+  margin-bottom: 20px;
+}
+.flex_s {
+  display: flex;
+  // align-items: center;
+  flex-wrap: wrap;
+  & > div {
+    flex-shrink: 0;
+    width: 33%;
+    font-weight: bold;
+  }
+}
+.dis_style {
+  display: flex;
+  align-items: center;
+}
+</style>

+ 35 - 0
src/views/education/classManageMent/otherPlatforms/manageClass/index.vue

@@ -0,0 +1,35 @@
+<template>
+  <div id="manageClass">
+    <el-tabs type="border-card" v-model="activeName" style="margin-top: 20px">
+      <el-tab-pane label="基本信息" name="1">
+        <base-info />
+      </el-tab-pane>
+      <el-tab-pane label="学员记录" name="2">
+        <student-records />
+      </el-tab-pane>
+      <el-tab-pane label="班主任记录" name="3">
+        <teacher-records v-if="activeName == '3'" />
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+
+<script>
+import baseInfo from "./baseInfo.vue";
+import studentRecords from "./studentRecords";
+import teacherRecords from "./teacherRecords";
+export default {
+  name:"ManageClass",
+  components: { baseInfo, studentRecords, teacherRecords },
+  data() {
+    return {
+      activeName: "1",
+    };
+  },
+  mounted() {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+</style>

+ 147 - 0
src/views/education/classManageMent/otherPlatforms/manageClass/studentRecords.vue

@@ -0,0 +1,147 @@
+<template>
+  <div id="studentRecords">
+    <div class="studentSty">
+      <el-table
+        ref="multipleTable"
+        :data="tableData"
+        border
+        :header-cell-style="{
+          'background-color': '#eee',
+          padding: '8px',
+          color: '#333',
+        }"
+      >
+        <template v-for="(item, index) in tableList">
+          <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'" style="color:#F56C6C;">
+                {{
+                  scope.row[item.prop] === 1
+                    ? "进入"
+                    : scope.row[item.prop] === 0
+                    ? "移除"
+                    : "未知"
+                }}
+              </span>
+              <span v-else-if="item.scope ==='aTime'">
+                {{$methodsTools.onlyForma(scope.row[item.prop])}}
+              </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"
+      />
+      <div class="align_center">
+        <el-button @click="backPage">返回</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import pagination from "@/components/pagination";
+export default {
+  components: { pagination },
+  data() {
+    return {
+      tableData: [],
+      tableList: [
+        {
+          label: "记录类型",
+          prop: "status",
+          scope:"status"
+        },
+        {
+          label: "学员编码",
+          prop: "code",
+        },
+        {
+          label: "学员姓名",
+          prop: "realName",
+        },
+        {
+          label: "学员身份证",
+          prop: "idCard",
+        },
+        {
+          label: "绑定手机号码",
+          prop: "telPhone",
+        },
+        {
+          label: "操作时间",
+          prop: "createTime",
+          scope:"aTime"
+        },
+        {
+          label: "操作者",
+          prop: "createBy",
+        },
+      ],
+      total:0,
+      formData: {
+        gradeId:this.$route.query.id,
+        pageSize: 10,
+        pageNum: 1,
+      },
+    };
+  },
+  mounted() {
+    this.search();
+  },
+  methods: {
+    search() {
+      this.loading = true;
+      this.$api.inquireGradegradelistUserList(this.formData).then((res) => {
+        this.tableData = res.rows;
+        this.total = res.total;
+      }).finally(()=>{
+        this.loading = false;
+      })
+    },
+    handleSizeChange(v) {
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
+      this.search();
+    },
+    handleCurrentChange(v) {
+      this.formData.pageNum = v;
+      this.search();
+    },
+    //返回
+    backPage() {
+      this.$store.dispatch("tagsView/delView", this.$route).then((res) => {
+        this.$router.push({
+          path: "classList",
+        });
+      });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.studentSty {
+  background-color: #eee;
+  padding: 20px 10px;
+  margin-top: 16px;
+}
+.align_center {
+  margin-top: 20px;
+  text-align: center;
+}
+</style>

+ 160 - 0
src/views/education/classManageMent/otherPlatforms/manageClass/teacherRecords.vue

@@ -0,0 +1,160 @@
+<template>
+  <div id="teacherRecords">
+    <div class="teacherSty">
+      <el-table
+        ref="multipleTable"
+        :data="tableData"
+        border
+        :header-cell-style="{
+          'background-color': '#eee',
+          padding: '8px',
+          color: '#333',
+        }"
+      >
+        <template v-for="(item, index) in tableList">
+          <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>
+              <div v-else-if="item.scope === 'teshu'">
+                <span v-if="scope.row[item.prop] === 1">
+                  进行中:({{
+                    $methodsTools.onlyForma(scope.row[item.prop1]) + ",至今"
+                  }})
+                </span>
+                <span v-if="scope.row[item.prop] === 0">
+                  无效:({{
+                    $methodsTools.onlyForma(scope.row[item.prop1]) +
+                    "," +
+                    $methodsTools.onlyForma(scope.row[item.prop2])
+                  }})
+                </span>
+              </div>
+              <span v-else-if="item.scope === 'aTime'">
+                {{ $methodsTools.onlyForma(scope.row[item.prop]) }}
+              </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"
+      />
+      <div class="align_center">
+        <el-button @click="backPage">返回</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import pagination from "@/components/pagination";
+export default {
+  components: { pagination },
+  data() {
+    return {
+      tableData: [],
+      tableList: [
+        {
+          label: "账号编码",
+          prop: "code",
+        },
+        {
+          label: "真实姓名",
+          prop: "sysUserName",
+        },
+        {
+          label: "角色",
+          prop: "role",
+        },
+        {
+          label: "任职状态",
+          prop1: "startTime",
+          prop2: "endTime",
+          prop: "status",
+          scope: "teshu",
+          width:"330px"
+        },
+        {
+          label: "指派时间",
+          prop: "startTime",
+          scope: "aTime",
+        },
+        {
+          label: "指派操作者",
+          prop: "createBy",
+        },
+      ],
+      total: 0,
+      formData: {
+        gradeId:this.$route.query.id,
+        pageSize: 10,
+        pageNum: 1,
+      },
+    };
+  },
+  mounted() {
+    this.search();
+  },
+  methods: {
+    search() {
+      this.loading = true;
+      this.$api.inquireGradegradelistSysList(this.formData).then((res) => {
+        this.tableData = res.rows;
+        this.total = res.total;
+      }).finally(()=>{
+        this.loading = false;
+      })
+    },
+    handleSizeChange(v) {
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
+      this.search();
+    },
+    handleCurrentChange(v) {
+      this.formData.pageNum = v;
+      this.search();
+    },
+    //返回
+    backPage() {
+      this.$store.dispatch("tagsView/delView", this.$route).then((res) => {
+        this.$router.push({
+          path: "classList",
+        });
+      });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.teacherSty {
+  background-color: #eee;
+  padding: 20px 10px;
+  margin-top: 16px;
+}
+.align_center {
+  margin-top: 20px;
+  text-align: center;
+}
+</style>

+ 274 - 0
src/views/education/classManageMent/otherPlatformsChild/index.vue

@@ -0,0 +1,274 @@
+<template>
+  <div id="otherPlatformsChild">
+    <div style="margin-bottom: 20px">
+      筛选:
+      <el-select
+        v-model="formData.trainOrgId"
+        placeholder="请选择平台"
+        style="margin: 0px 10px"
+        size="medium"
+        clearable
+      >
+        <el-option
+          v-for="item in orgNameList"
+          :key="item.orgId"
+          :label="item.orgName"
+          :value="item.orgId"
+        >
+        </el-option>
+      </el-select>
+      <el-input
+        clearable
+        style="width: 230px; margin: 5px 10px"
+        v-model.trim="formData.name"
+        placeholder="学员姓名"
+      ></el-input>
+      <el-input
+        clearable
+        style="width: 230px; margin: 5px 10px"
+        v-model.trim="formData.idNum"
+        placeholder="学员身份证"
+      ></el-input>
+      <el-input
+        clearable
+        style="width: 230px; margin: 5px 10px"
+        v-model.trim="formData.mobile"
+        placeholder="学员手机号码"
+      ></el-input>
+      <el-button type="primary" @click="search(3)">搜索</el-button>
+      <el-button @click="search(2)">重置</el-button>
+    </div>
+    <table-list
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableReplace(tableData)"
+      :navText="navText"
+      :studentTable="true"
+      :loading="loading"
+    >
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="exportData(props.scope.row)"
+          >导出数据</el-button
+        >
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize="formData.pageSize"
+      :currentPage="formData.pageNum"
+      @handleSizeChange="handleSizeChange"
+      @handleCurrentChange="handleCurrentChange"
+    />
+  </div>
+</template>
+
+<script>
+import tableList from "@/components/tableList";
+import pagination from "@/components/pagination";
+import * as baseUrls from "@/utils/request.js";
+export default {
+  name: "OtherPlatformsChild",
+  components: { tableList, pagination },
+  data() {
+    return {
+      loading: false, //当前表单加载是否加载动画
+      navText: {
+        title: "班级人数:",
+        index: 0,
+        ch: "位",
+        num: false,
+        choice: false,
+        border: true,
+        addHide: true,
+        rowKey: "id",
+        gftsStatus: false,
+        gfUserStatus: false,
+        xssbStatus: false,
+        backFatherBtn: {
+          status: false,
+          title: "未定义",
+        },
+      },
+      // 表单
+      tableSet: [
+        {
+          label: "平台",
+          prop: "orgName",
+          hidden: true,
+        },
+        {
+          label: "项目",
+          prop: "platformName",
+          hidden: true,
+        },
+        {
+          label: "专业",
+          prop: "majorName",
+          hidden: true,
+        },
+        {
+          label: "班级",
+          prop: "categoryName",
+          hidden: true,
+        },
+        {
+          label: "学员",
+          prop: "name",
+          hidden: true,
+        },
+        {
+          label: "学员身份证",
+          prop: "idNum",
+          hidden: true,
+        },
+        {
+          label: "学员手机",
+          prop: "mobile",
+          hidden: true,
+        },
+        {
+          label: "学员单位",
+          prop: "orgName",
+          hidden: true,
+        },
+        {
+          label: "下单时间",
+          prop: "orderTime",
+          hidden: true,
+        },
+        {
+          label: "报名时间",
+          prop: "periodStatus",
+          hidden: true,
+        },
+        {
+          label: "上传报名时间",
+          prop: "doTime",
+          hidden: true,
+        },
+        {
+          label: "学习开始时间",
+          prop: "beginTime",
+          hidden: true,
+        },
+        {
+          label: "学习结束时间",
+          prop: "applyTime",
+          hidden: true,
+        },
+        {
+          label: "是否上传中心",
+          prop: "reportStatu",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "是",
+              value: 1,
+            },
+            {
+              label: "否",
+              value: 0,
+            },
+          ],
+        },
+        {
+          label: "学时是否申报中心",
+          prop: "studyQueueStatus",
+          hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "已申报",
+              value: 1,
+            },
+            {
+              label: "未申报",
+              value: 0,
+            },
+          ],
+        },
+      ],
+
+      tableData: [], //表单数据
+      formData: {
+        pageSize: 10,
+        pageNum: 1,
+      },
+      total: 0,
+      orgNameList: [],
+    };
+  },
+  created() {
+    this.search();
+    //平台列表
+    this.$api.inquiresystemoldorglist().then((res) => {
+      this.orgNameList = res.data;
+    });
+  },
+  computed:{
+    tableReplace:function(){
+      return function(array){
+        return array.slice((this.formData.pageNum - 1)* this.formData.pageSize,this.formData.pageNum * this.formData.pageSize,)
+      }
+    }
+  },
+  methods: {
+    search(int) {
+      this.loading = true;
+      if (int === 2) {
+        this.formData = {
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      if (int === 3) {
+        this.$refs.tableList.clearMoreActive();
+        this.formData.pageSize = 10;
+        this.formData.pageNum = 1;
+      }
+      this.formData.gradeId = this.$route.query.id;
+      this.$api
+        .inquireGradegradeotherClassuser(this.formData)
+        .then((res) => {
+          this.tableData = res.data;
+          this.navText.index = res.data.length;
+          this.total = res.data.length;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    //导出
+    exportData(item) {
+      this.$api.inquireGradegradeotherClassuserexport(item).then((res) => {
+        if (res.msg) {
+          let url = baseUrls.baseURL + "common/download?fileName=" + res.msg;
+          let link = document.createElement("a");
+          let fileName = "班级学员数据" + ".xlsx";
+          document.body.appendChild(link);
+          link.href = url;
+          link.dowmload = fileName;
+          link.click();
+          link.remove();
+          this.$message.success("导出成功");
+        } else {
+          this.$message.error("导出失败");
+        }
+      });
+    },
+    handleSizeChange(v) {
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
+      // this.search();
+    },
+    handleCurrentChange(v) {
+      this.formData.pageNum = v;
+      // this.search();
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+</style>