Tang 2 سال پیش
والد
کامیت
f915939e1e

+ 1 - 1
.env.development

@@ -2,7 +2,7 @@
 VUE_APP_TITLE =中正云教育管理后台
 
 # 开发环境配置
-ENV = 'development'
+NODE_ENV = 'development'
 
 # 中正云教育管理后台/开发环境
 VUE_APP_BASE_API = 'http://120.79.166.78:19013/'

+ 1 - 1
.env.production

@@ -2,7 +2,7 @@
 VUE_APP_TITLE = 中正云教育管理后台
 
 # 生产环境配置
-ENV = 'production'
+NODE_ENV = 'production'
 
 # 中正云教育管理后台/生产环境
 VUE_APP_BASE_API = 'https://cloud.xyyxt.net/'

+ 1 - 3
.env.staging

@@ -1,10 +1,8 @@
 # 页面标题
 VUE_APP_TITLE = 中正云教育管理后台
 
-NODE_ENV = production
-
 # 预发布环境配置
-ENV = 'staging'
+NODE_ENV = 'staging'
 
 # 中正云教育管理后台/预发布环境
 # 测试

+ 38 - 7
src/components/Study/StudentInfo.vue

@@ -9,22 +9,29 @@
           <!-- <span v-if="item.key != 'num' && item.key != 'time'">{{
             userData[item.key]
           }}</span> -->
-
           <span v-if="item.key == 'goodsName'">{{ userData[item.key] }}</span>
           <span v-else-if="item.key == 'className'">{{
             userData[item.key]
           }}</span>
           <span
             v-else-if="item.key == 'classHours'"
-            style="color: red; font-weight: bold"
+            style="color: red; font-weight: bold; font-size: 18px"
             >{{ parseInt(userData["finishSectionDuration"] / 60 / 45) }}</span
+          ><span
+            v-else-if="item.key == 'secTotalTime'"
+            style="color: red; font-weight: bold; font-size: 18px"
+            >{{ parseInt(secTotalTime / 60 / 45) }}</span
           >
           <span v-else-if="item.key == 'num'"
             >完成{{ userData.stuAllNum + userData.recordNum }}节的内容学习</span
           >
-          <span v-else-if="item.key == 'time'" style="padding-right: 50px"
-            >{{ $methodsTools.onlyForma(userData.studyStartTime, false) }} -
-            {{ $methodsTools.onlyForma(userData.studyEndTime, false) }}</span
+          <span v-else-if="item.key == 'classTimes'" style="padding-right: 50px"
+            >{{ $methodsTools.onlyForma(userData.classStartTime, false) }} -
+            {{ $methodsTools.onlyForma(userData.classEndTime, false) }}</span
+          >
+          <span v-else-if="item.key == 'time'"
+            >{{ $methodsTools.onlyForma(totalTimes[0]) }} -
+            {{ $methodsTools.onlyForma(totalTimes[1]) }}</span
           >
         </span>
       </div>
@@ -99,6 +106,8 @@
 </template>
 
 <script>
+import { get } from "http";
+
 export default {
   props: {
     userData: {
@@ -107,6 +116,16 @@ export default {
         return {};
       },
     },
+    totalTime: {
+      type: Array,
+      default: () => {
+        return [];
+      },
+    },
+    numTotal: {
+      type: Number,
+      default: 0,
+    },
     all: {
       type: Boolean,
       default: true,
@@ -127,15 +146,27 @@ export default {
     headList() {
       const list = [
         { lebel: "所在班级:", key: "className" },
-        { lebel: "学时:", key: "classHours" },
+        { lebel: "课程总学时:", key: "secTotalTime" },
+        { lebel: "完成学时:", key: "classHours" },
         // { lebel: "", key: "num" },
         { lebel: "学习时间:", key: "time" },
+        { lebel: "班级有效期:", key: "classTimes" },
       ];
       if (this.all) {
         list.unshift({ lebel: "所购商品:", key: "goodsName" });
       }
       return list;
     },
+    totalTimes: {
+      get() {
+        return this.totalTime;
+      },
+    },
+    secTotalTime: {
+      get() {
+        return this.numTotal;
+      },
+    },
   },
 };
 </script>
@@ -174,7 +205,7 @@ export default {
       display: flex;
       flex-wrap: wrap;
       span {
-        font-size: 14px;
+        font-size: 16px;
         padding-left: 10px;
         white-space: nowrap;
       }

+ 6 - 2
src/components/questionBank.vue

@@ -23,7 +23,11 @@
       <el-col :span="20" class="contentMore">
         <div class="marg_play">
           <span class="spans">题目类型:</span>
-          <el-radio-group v-model="dingForm.type" @change="changeTypes">
+          <el-radio-group
+            v-model="dingForm.type"
+            @change="changeTypes"
+            :disabled="noStudent"
+          >
             <el-radio
               v-for="(item, index) in radioArrays"
               :key="index"
@@ -482,7 +486,7 @@ import Editor from "@/components/Editor";
 export default {
   components: { Editor },
   name: "questionBank",
-  props: ["nums", "dingFormInfo", "disableTypeStatus"],
+  props: ["nums", "dingFormInfo", "disableTypeStatus", "noStudent"],
   data() {
     return {
       dingForm: {},

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

@@ -266,6 +266,7 @@ export default {
      * type = 1时Id获取数据row = ID, 2时直接获取数据row = 数据
      */
     openBox(type, row) {
+      console.log(type,row)
       this.activeIndex = null;
       const ROWS = JSON.parse(JSON.stringify(row));
       this.type = type;

+ 13 - 0
src/views/classHoursReview/component/LessonTable.vue

@@ -201,6 +201,19 @@
               </div>
               <!-- {{ $methodsTools.onlyForma(scope2.row[item.prop]) }} -->
             </div>
+            <div
+              v-if="
+                (scope2.row['type'] === 4 || scope2.row['type'] === 5) &&
+                scope2.row['studyStartTime'] &&
+                scope2.row['studyEndTime']
+              "
+            >
+              学习时间:{{
+                $methodsTools.onlyForma(scope2.row[item.prop1]) +
+                " - " +
+                $methodsTools.onlyForma(scope2.row[item.prop2])
+              }}
+            </div>
           </div>
           <div v-else-if="item.scope === 'aTimeSEComputer'">
             <div

+ 1 - 1
src/views/classHoursReview/component/StudyTables.vue

@@ -494,7 +494,7 @@ export default {
 
       .num_style {
         float: right;
-        font-size: 14px;
+        font-size: 16px;
         margin-left: 14px;
       }
     }

+ 36 - 1
src/views/classHoursReview/studyTimes.vue

@@ -1,6 +1,10 @@
 <template>
   <div id="studyTimes">
-    <StudentInfo :userData="userData"></StudentInfo>
+    <StudentInfo
+      :userData="userData"
+      :totalTime="totalTime"
+      :numTotal="numTotal"
+    ></StudentInfo>
     <Study-tables
       class="box"
       ref="study"
@@ -24,6 +28,8 @@ export default {
       userData: {},
       setTimeDOM: null, //定时器
       tablesData: undefined,
+      totalTime: [],
+      numTotal: 0,
     };
   },
   created() {
@@ -224,11 +230,40 @@ export default {
         .inquireGradegradelistPeriodAudit(data)
         .then((res) => {
           this.tablesData = this.changeData(res.rows);
+          // this.numTotal = this.cops(res.rows);
+          if (res.rows.length > 0) {
+            this.totalTime = [
+              res.rows[0].startTotalTime,
+              res.rows[0].endTotalTime,
+            ];
+            this.numTotal = res.rows[0].secTotalTime
+          }
         })
         .finally(() => {
           this.loading = false;
         });
     },
+    cops(row) {
+      var a = 0;
+      row.forEach((item) => {
+        if (item.type === 1) {
+          item.classPeriods.forEach((i) => {
+            if (i.type === 2) {
+              i.classPeriodSectionList.forEach((x) => {
+                a += x.durationTime || 0;
+              });
+            }
+          });
+        } else if (item.type === 2) {
+          item.classPeriodSectionList.forEach((x) => {
+            a += x.durationTime || 0;
+          });
+        } else if (item.type === 3) {
+          a += item.durationTime || 0;
+        }
+      });
+      return a;
+    },
   },
   components: {
     StudyTables,

+ 5 - 0
src/views/education/qaManagement/qaList/ask.vue

@@ -122,6 +122,11 @@ export default {
           hidden: true,
           scope: "InfoMore",
         },
+        {
+          label: "科目名称",
+          prop: "subjectNames",
+          hidden: true,
+        },
         {
           label: "商品名称",
           prop: "goodsName",

+ 5 - 0
src/views/education/qaManagement/qaList/reply.vue

@@ -88,6 +88,11 @@ export default {
           hidden: true,
           scope: "InfoMore",
         },
+        {
+          label: "科目名称",
+          prop: "subjectNames",
+          hidden: true,
+        },
         {
           label: "商品名称",
           prop: "goodsName",

+ 59 - 6
src/views/resource/bankManagement/testPaperManagement/editPaper/topicEditPaper/index.vue

@@ -15,23 +15,31 @@
             placeholder="请输入题目内容"
             v-model="keyValue"
             style="margin-right: 10px"
-          ></el-input><el-button
+          ></el-input
+          ><el-button
             size="medium"
             @click="$refs.batchPop.openBoxs(tableData, businObj, 3)"
             type="success"
+            :disabled="!noStudent"
             >(旧系统)Excel批量导入</el-button
           >
           <el-button
             size="medium"
             @click="$refs.batchPop.openBoxs(tableData, businObj, 2)"
             type="success"
+            :disabled="!noStudent"
             >Word批量导入</el-button
           ><el-button
             size="medium"
             @click="$refs.batchPop.openBoxs(tableData, businObj, 1)"
             type="success"
+            :disabled="!noStudent"
             >Excel批量导入</el-button
-          ><el-button size="medium" @click="delAll" type="danger"
+          ><el-button
+            size="medium"
+            @click="delAll"
+            type="danger"
+            :disabled="!noStudent"
             >批量删除</el-button
           >
         </template>
@@ -41,9 +49,23 @@
             @click="addClick(props.scope.row, 0, props.scope.row.index)"
             >编辑</el-button
           >
-          <el-button type="text" @click="del(props.scope.row)">删除</el-button>
+          <el-button
+            type="text"
+            @click="del(props.scope.row)"
+            :disabled="!noStudent"
+            >删除</el-button
+          >
         </template>
       </table-list>
+      <el-pagination
+      @size-change="handleSizeChangepage"
+      @current-change="handleCurrentChangepage"
+      :current-page="page.pageNum"
+      :page-sizes="[10, 20, 50, 100]"
+      :page-size="page.pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="navText.index">
+    </el-pagination>
       <div class="centerStys">
         <el-button size="small" @click="backPage">取消</el-button>
         <!-- <el-button size="small" type="warning" @click="preview">预览</el-button> -->
@@ -51,7 +73,6 @@
           size="small"
           type="primary"
           @click="submitTableAllInfos"
-          :disabled="!noStudent"
           :loading="disabledBtn"
           >确定</el-button
         >
@@ -155,6 +176,7 @@
               ></el-input> </el-form-item
           ></el-form>
           <questionBank
+            :noStudent="!noStudent"
             :dingFormInfo="listNums"
             :nums="1"
             ref="child"
@@ -991,7 +1013,11 @@ export default {
       uploadStatus: false, //是否同步预览
       simulateConfigJson: "",
       simulateStatus: 1,
-      disableTypeStatus:false,//安管三类 禁用简答题
+      disableTypeStatus: false, //安管三类 禁用简答题
+      page: {
+        pageSize: 10,
+        pageNum: 1,
+      },
     };
   },
   computed: {
@@ -1002,6 +1028,19 @@ export default {
       });
       return num;
     },
+    // computedData: function () {
+    //   return function (data) {
+    //     var arr = [];
+    //     if (this.keyValue) {
+    //       arr = data.filter((item) => {
+    //         return item.content.search(this.keyValue) !== -1;
+    //       });
+    //     } else {
+    //       arr = data;
+    //     }
+    //     return arr;
+    //   };
+    // },
     computedData: function () {
       return function (data) {
         var arr = [];
@@ -1012,6 +1051,11 @@ export default {
         } else {
           arr = data;
         }
+        arr = data.slice(
+          (this.page.pageNum - 1) * this.page.pageSize,
+          this.page.pageSize * this.page.pageNum
+        );
+        console.log(arr);
         return arr;
       };
     },
@@ -1083,6 +1127,8 @@ export default {
       .then((res) => {
         if (res.data > 0) {
           this.noStudent = false;
+          this.navText.addHide = true;
+          this.navText.backFatherBtn.status = false;
         }
       });
     this.getInfos();
@@ -1581,7 +1627,7 @@ export default {
           //   return;
           // }
           var data = this.$refs.child.getInfosPage();
-          
+
           if (self.disableTypeStatus && data.type == 5) {
             //安管三类禁止简答题录入
             self.$message.error(
@@ -1999,6 +2045,13 @@ export default {
       this.formData.pageNum = v;
       this.getDIO();
     },
+    handleSizeChangepage(v) {
+      this.page.pageSize = v;
+      this.page.pageNum = 1;
+    },
+    handleCurrentChangepage(v) {
+      this.page.pageNum = v;
+    },
   },
 };
 </script>

+ 3 - 3
src/views/resource/bankManagement/testPaperManagement/index.vue

@@ -29,7 +29,7 @@
         <el-button type="text" @click="addClick(props.scope.row, 2)"
           >题目内容</el-button
         >
-        <el-button type="text" @click="preview(props.scope.row.examId)"
+        <el-button type="text" @click="preview(props.scope.row)"
           >预览</el-button
         >
         <el-button type="text" @click="del(props.scope.row)">删除</el-button>
@@ -220,8 +220,8 @@ export default {
         })
         .catch(() => {});
     },
-    preview(id) {
-      this.$refs.testPaperPreview.openBox(1, id);
+    preview(row) {
+      this.$refs.testPaperPreview.openBox(1, [row]);
     },
     editInfo(v) {
       this.addClick(v, 1);

+ 2 - 0
src/views/resource/handoutManagement/handoutList/add/index.vue

@@ -532,6 +532,8 @@ export default {
             if (obj.status) {
               self.fileList.push(e.target.files[i]);
               this.uploadStatus--;
+            }else{
+              this.uploadStatus--;
             }
           } else {
             this.uploadStatus--;

+ 2 - 0
src/views/resource/handoutManagement/handoutList/edit/index.vue

@@ -603,6 +603,8 @@ export default {
                 }
                 this.submitClickData.children.push(newChild);
               }
+            }else{
+              this.uploadStatus--
             }
           } else {
             this.uploadStatus--;

+ 1 - 0
src/views/secondJian/courseList/index.vue

@@ -303,6 +303,7 @@ export default {
         this.formData.pageNum = 1;
       }
       var data = JSON.parse(JSON.stringify(this.formData));
+      data.chapterNum = 1
       this.$api
         .inquireGoods(data)
         .then((res) => {

+ 1 - 0
src/views/secondZao/courseList/index.vue

@@ -303,6 +303,7 @@ export default {
         this.formData.pageNum = 1;
       }
       var data = JSON.parse(JSON.stringify(this.formData));
+      data.chapterNum = 1
       this.$api
         .inquireGoods(data)
         .then((res) => {