ソースを参照

fix:更改提示

Tang 3 年 前
コミット
e819903926

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

@@ -338,7 +338,7 @@ export default {
         return item.periodStatus === -1;
       });
       if (stu) {
-        this.$message.warning("所勾选学员的学时审批状态不允许为不可审核状态");
+        this.$message.warning("所勾选学员不符合学时推送条件,请重新选择");
         return;
       }
       let arr = this.$refs.tableList.allCheckData.map((item) => {

+ 0 - 580
src/views/education/classManageMent/classHoursReview/index copy.vue

@@ -1,580 +0,0 @@
-<template>
-  <div id="classHoursReview">
-    <div style="margin-bottom: 10px">
-      <el-button
-        :size="size"
-        :type="active === 1 ? 'primary' : ''"
-        @click="changeActive(1)"
-        >班级学员</el-button
-      >
-      <el-button
-        :size="size"
-        :type="active === 2 ? 'primary' : ''"
-        @click="changeActive(2)"
-        >学时管理</el-button
-      >
-    </div>
-    <div class="dis_fs">
-      <ul class="ul_ls">
-        <li>学员编码:{{ userData.studentCode }}</li>
-        <li>学员姓名:{{ userData.realName }}</li>
-        <li>学员身份证号码:{{ userData.idCard }}</li>
-        <li>绑定手机号码:{{ userData.telPhone }}</li>
-      </ul>
-      <div class="photoSty1">
-        <el-image
-          style="width: 100%; height: 100%"
-          :src="$methodsTools.splitImgHost(userData.oneInchPhotos)"
-          :preview-src-list="[
-            $methodsTools.splitImgHost(userData.oneInchPhotos),
-          ]"
-        >
-        </el-image>
-        <div class="pos_bottom">一寸头像图</div>
-      </div>
-      <div class="photoSty2">
-        <el-image
-          style="width: 100%; height: 100%"
-          :src="$methodsTools.splitImgHost(userData.idCardImg1)"
-          :preview-src-list="[$methodsTools.splitImgHost(userData.idCardImg1)]"
-        >
-        </el-image>
-        <div class="pos_bottom">身份证正面照片</div>
-      </div>
-      <div class="photoSty2" style="margin-right: 0px">
-        <el-image
-          style="width: 100%; height: 100%"
-          :src="$methodsTools.splitImgHost(userData.idCardImg2)"
-          :preview-src-list="[$methodsTools.splitImgHost(userData.idCardImg2)]"
-        >
-        </el-image>
-        <div class="pos_bottom">身份证背面照片</div>
-      </div>
-    </div>
-    <div class="dis_fls">
-      <div class="s_sd">
-        <div class="dis_colu">
-          <div class="jdNumSty">
-            视频学习进度:{{ userData.stuAllNum }}/{{ userData.secAllNum }}
-            {{
-              userData.stuAllNum == 0 && userData.secAllNum == 0
-                ? "0"
-                : (userData.stuAllNum / userData.secAllNum) * 100
-            }}% 通过:{{ userData.pass }}节 作弊:{{ userData.cheat }}节
-            待审:{{ userData.pending }}节
-          </div>
-          <div class="jdNumSty">
-            做题学习进度:{{ userData.recordNum }}/{{ userData.examNum }}
-            {{
-              userData.recordNum == 0 && userData.examNum == 0
-                ? "0"
-                : (userData.recordNum / userData.examNum) * 100
-            }}% 通过:{{ userData.pass }}节 作弊:{{ userData.cheat }}节
-            待审:{{ userData.pending }}节
-          </div>
-        </div>
-        <div class="shbtns">学时审批状态:待审核</div>
-      </div>
-      <div class="s_sd">
-        <div class="btnStys">确定审核结果</div>
-        <div class="btnStys">待审核全部通过</div>
-        <div class="btnStys">待审核全部作弊</div>
-      </div>
-    </div>
-    <template v-for="(asrt, insrt) in 3">
-      <el-table
-        v-loading="loading"
-        :key="insrt"
-        :data="
-          listData[
-            insrt === 0
-              ? 'tableData1'
-              : insrt === 1
-              ? 'tableData2'
-              : insrt === 2
-              ? 'tableData3'
-              : ''
-          ]
-        "
-        style="width: 100%"
-        :default-expand-all="false"
-        :header-cell-style="
-          insrt === 0
-            ? {
-                'background-color': 'skyblue',
-                padding: '8px',
-                color: '#333',
-              }
-            : insrt === 1
-            ? {
-                'background-color': 'rgb(255,255,204)',
-                padding: '8px',
-                color: '#333',
-              }
-            : insrt === 2
-            ? {
-                'background-color': '#eee',
-                padding: '8px',
-                color: '#333',
-              }
-            : ''
-        "
-      >
-        <el-table-column type="expand" width="40px">
-          <template slot-scope="scope">
-            <ul v-if="scope.row.type === 3">
-              <li
-                v-for="(its, inds) in scope.row.userPeriodStatusVos[0]
-                  .userStudyRecordPhotoList"
-                :key="inds"
-                class="liImgs"
-              >
-                <img
-                  style="width: 100%; height: 100%"
-                  :src="$methodsTools.splitImgHost(its.photo)"
-                  alt=""
-                />
-              </li>
-              <div style="clear: both"></div>
-            </ul>
-            <el-table
-              v-else
-              border
-              :data="
-                scope.row.type === 1
-                  ? scope.row.classPeriods
-                  : scope.row.type === 2
-                  ? scope.row.classPeriodSectionList
-                  : ''
-              "
-              style="width: 100%"
-              :default-expand-all="false"
-              :header-cell-style="
-                scope.row.type === 1
-                  ? {
-                      'background-color': 'rgb(255,255,204)',
-                      padding: '8px',
-                      color: '#333',
-                    }
-                  : scope.row.type === 2
-                  ? {
-                      'background-color': '#eee',
-                      padding: '8px',
-                      color: '#333',
-                    }
-                  : ''
-              "
-            >
-              <el-table-column type="expand">
-                <template slot-scope="scope">
-                  <span v-if="scope.row.type === 3">节</span>
-                  <el-table
-                    v-else
-                    border
-                    :data="
-                      scope.row.type === 2
-                        ? scope.row.classPeriodSectionList
-                        : ''
-                    "
-                    style="width: 100%"
-                    :default-expand-all="false"
-                    :header-cell-style="
-                      scope.row.type === 2
-                        ? {
-                            'background-color': '#eee',
-                            padding: '8px',
-                            color: '#333',
-                          }
-                        : ''
-                    "
-                  >
-                    <el-table-column type="expand">照片</el-table-column>
-                    <template
-                      v-for="(item, index) in scope.row.type === 2
-                        ? tableSet3
-                        : ''"
-                    >
-                      <el-table-column
-                        :width="item.width"
-                        :key="index"
-                        :label="item.label"
-                        align="center"
-                      >
-                        <template slot-scope="scope">
-                          <span v-if="item.scope === 'select'">
-                            <span v-for="(k, ds) in item.options" :key="ds">
-                              {{
-                                k.value == scope.row[item.prop] ? k.label : ""
-                              }}
-                            </span>
-                          </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>
-                </template>
-              </el-table-column>
-              <template
-                v-for="(item, index) in scope.row.type === 1
-                  ? tableSet2
-                  : scope.row.type === 2
-                  ? tableSet3
-                  : ''"
-              >
-                <el-table-column
-                  :width="item.width"
-                  :key="index"
-                  :label="item.label"
-                  align="center"
-                >
-                  <template slot-scope="scope">
-                    <span v-if="item.scope === 'select'">
-                      <span v-for="(k, ds) in item.options" :key="ds">
-                        {{ k.value == scope.row[item.prop] ? k.label : "" }}
-                      </span>
-                    </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>
-          </template>
-        </el-table-column>
-        <template
-          v-for="(item, index) in insrt === 0
-            ? tableSet1
-            : insrt === 1
-            ? tableSet2
-            : insrt === 2
-            ? tableSet3
-            : ''"
-        >
-          <el-table-column
-            :width="item.width"
-            :key="index"
-            :label="item.label"
-            align="center"
-          >
-            <template slot-scope="scope">
-              <span v-if="item.scope === 'select'">
-                <span v-for="(k, ds) in item.options" :key="ds">
-                  {{ k.value == scope.row[item.prop] ? k.label : "" }}
-                </span>
-              </span>
-              <div v-else-if="item.scope === 'activeNum'">123</div>
-              <span v-else-if="item.scope === 'aTime'">
-                {{ $methodsTools.onlyForma(scope.row[item.prop]) }}
-              </span>
-              <span v-else>
-                {{ scope.row[item.prop] }}{{ item.ch ? item.ch : "" }}
-              </span>
-            </template>
-          </el-table-column>
-        </template>
-      </el-table>
-    </template>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      size: "medium",
-      active: "",
-      loading: false,
-      arr: ["tableData1", "tableData2", "tableData3"],
-      listData: {
-        tableData1: [],
-        tableData2: [],
-        tableData3: [],
-      },
-      userData: {},
-      tableData: [],
-      tableSet1: [
-        {
-          label: "姓名",
-          prop: "realName",
-        },
-        {
-          label: "模块标题",
-          prop: "typeName",
-        },
-        {
-          label: "学时",
-          prop: "classHours",
-        },
-      ],
-      tableSet2: [
-        {
-          label: "姓名",
-          prop: "realName",
-        },
-        {
-          label: "章标题",
-          prop: "typeName",
-        },
-        {
-          label: "学时",
-          prop: "classHours",
-        },
-        {
-          label: "开始学习时间",
-          prop: "studyStartTime",
-          scope: "aTime",
-        },
-        {
-          label: "结束学习时间",
-          prop: "studyEndTime",
-          scope: "aTime",
-        },
-        {
-          label: "测试成绩",
-          prop: "classHours",
-        },
-      ],
-      tableSet3: [
-        {
-          label: "选择",
-          scope: "activeNum",
-        },
-        {
-          label: "姓名",
-          prop: "realName",
-        },
-        {
-          label: "节标题",
-          prop: "typeName",
-        },
-        {
-          label: "开始学习时间",
-          prop: "studyStartTime",
-          scope: "aTime",
-        },
-        {
-          label: "结束学习时间",
-          prop: "studyEndTime",
-          scope: "aTime",
-        },
-        {
-          label: "审核状态",
-          prop: "status",
-          scope: "select",
-          options: [
-            {
-              label: "通过",
-              value: 1,
-            },
-            {
-              label: "作弊",
-              value: 0,
-            },
-          ],
-        },
-        {
-          label: "审核时间",
-          prop: "auditTime",
-          scope: "aTime",
-        },
-      ],
-      tableDataChild: {},
-      tableSetChild: [],
-    };
-  },
-  mounted() {
-    this.getUserInfo();
-    this.search();
-  },
-  methods: {
-    //获取用户信息
-    getUserInfo() {
-      this.$api
-        .inquireGradegradelistUserlistPeriod({
-          userId: this.$route.query.userId,
-        })
-        .then((res) => {
-          this.userData = res.rows[0];
-        });
-    },
-    search() {
-      let data = {
-        gradeId: this.$route.query.id,
-        userId: this.$route.query.userId,
-      };
-      this.loading = true;
-      this.$api
-        .inquireGradegradelistPeriodAudit(data)
-        .then((res) => {
-          let tab1 = [];
-          let tab2 = [];
-          let tab3 = [];
-          for (let i = 0; i < res.rows.length; i++) {
-            if (res.rows[i].type === 1) {
-              tab1.push(res.rows[i]);
-            }
-            if (res.rows[i].type === 2) {
-              tab2.push(res.rows[i]);
-            }
-            if (res.rows[i].type === 3) {
-              tab3.push(res.rows[i]);
-            }
-          }
-          this.$nextTick(() => {});
-          this.listData.tableData1 = tab1;
-          this.listData.tableData2 = tab2;
-          this.listData.tableData3 = tab3;
-          console.log(tab3);
-        })
-        .finally(() => {
-          this.loading = false;
-        });
-    },
-    //切换顶部BTN
-    changeActive(int) {
-      if (int === 1) {
-        this.active = int;
-        this.$router.push({
-          path: "studentMenu",
-          query: {
-            id: this.$route.query.id,
-          },
-        });
-      }
-      if (int === 2) {
-        this.active = int;
-        this.$router.push({
-          path: "classHours",
-          query: {
-            id: this.$route.query.id,
-          },
-        });
-      }
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.dis_fs {
-  display: flex;
-  align-items: center;
-  height: 211px;
-  background-color: #eee;
-  padding: 0px 30px;
-  overflow: auto;
-  .ul_ls {
-    margin-right: 30px;
-    align-self: flex-start;
-    li {
-      font-size: 14px;
-      white-space: nowrap;
-      margin-bottom: 14px;
-    }
-  }
-  &::-webkit-scrollbar {
-    width: 14px;
-    height: 14px;
-  }
-
-  &::-webkit-scrollbar-track,
-  &::-webkit-scrollbar-thumb {
-    border-radius: 999px;
-    border: 5px solid transparent;
-  }
-
-  &::-webkit-scrollbar-track {
-    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2) inset;
-  }
-
-  &::-webkit-scrollbar-thumb {
-    min-height: 20px;
-    background-clip: content-box;
-    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.2) inset;
-  }
-
-  &::-webkit-scrollbar-corner {
-    background: transparent;
-  }
-}
-.photoSty1 {
-  flex-shrink: 0;
-  width: 150px;
-  height: 160px;
-  background-color: #fff;
-  margin-right: 60px;
-  position: relative;
-}
-.photoSty2 {
-  position: relative;
-  flex-shrink: 0;
-  width: 230px;
-  height: 160px;
-  margin-right: 60px;
-  background-color: #fff;
-}
-.pos_bottom {
-  position: absolute;
-  height: 20px;
-  bottom: 0px;
-  left: 0px;
-  right: 0px;
-  background-color: rgba(0, 0, 0, 0.8);
-  text-align: center;
-  line-height: 20px;
-  font-size: 14px;
-  color: #fff;
-}
-.dis_fls {
-  margin: 16px 0px;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  flex-wrap: wrap;
-  .s_sd {
-    display: flex;
-    align-items: center;
-    flex-shrink: 0;
-    margin-bottom: 10px;
-    .dis_colu {
-      height: 55px;
-      margin-right: 14px;
-      display: flex;
-      flex-direction: column;
-      justify-content: space-around;
-      font-size: 14px;
-    }
-  }
-}
-.jdNumSty {
-  border: 1px solid #000;
-}
-.shbtns {
-  padding: 0px 10px;
-  height: 55px;
-  line-height: 55px;
-  background-color: #eee;
-  border-radius: 6px;
-}
-.btnStys {
-  border: 1px solid #666;
-  padding: 0px 8px;
-  border-radius: 4px;
-  font-size: 15px;
-  margin-right: 8px;
-  cursor: pointer;
-}
-.liImgs {
-  float: left;
-  width: 100px;
-  height: 100px;
-  margin-right: 10px;
-  margin-bottom: 10px;
-}
-</style>