Просмотр исходного кода

fix: 补充ctitle参数并优化课程信息匹配逻辑

1.  多处组件调用syncClassData时新增ctitle参数,取值为copyTitle或原标题
2.  新增packageArray缓存课程套餐数据,优化课程名称、年级和套餐名称匹配逻辑
3.  修复eduId、coursePackageName、courseName、courseGrade的取值逻辑,兼容空值情况
lsc 1 неделя назад
Родитель
Сommit
b440dfde50

+ 1 - 0
src/components/dialog/addClassDialog.vue

@@ -202,6 +202,7 @@
           this.syncClassData2({
           this.syncClassData2({
             courseId: this.courseDetail.courseId,
             courseId: this.courseDetail.courseId,
             title: this.courseDetail.title,
             title: this.courseDetail.title,
+            ctitle: this.courseDetail.copyTitle || this.courseDetail.title,
             courseGrade: this.checkboxList2[0].id,
             courseGrade: this.checkboxList2[0].id,
             courseTime: courseTime,
             courseTime: courseTime,
             startTime: startTime,
             startTime: startTime,

+ 1 - 0
src/components/easy2/studyStudent.vue

@@ -25774,6 +25774,7 @@ export default {
         this.syncClassData({
         this.syncClassData({
           courseId: this.id,
           courseId: this.id,
           title: this.courseDetail.title,
           title: this.courseDetail.title,
+          ctitle: this.courseDetail.copyTitle || this.courseDetail.title,
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseTime: courseTime,
           courseTime: courseTime,
           startTime: this.startTime,
           startTime: this.startTime,

+ 1 - 0
src/components/easy3/studyStudent.vue

@@ -21096,6 +21096,7 @@ export default {
         this.syncClassData({
         this.syncClassData({
           courseId: this.id,
           courseId: this.id,
           title: this.courseDetail.title,
           title: this.courseDetail.title,
+          ctitle: this.courseDetail.copyTitle || this.courseDetail.title,
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseTime: courseTime,
           courseTime: courseTime,
           startTime: this.startTime,
           startTime: this.startTime,

+ 2 - 0
src/components/pptEasyClass/index.vue

@@ -225,6 +225,7 @@ export default {
       }
       }
       // this.gotoCourse(classId);
       // this.gotoCourse(classId);
       this.$refs.selectTeachingClassDialogRef.close();
       this.$refs.selectTeachingClassDialogRef.close();
+      this.setoTime("1");
     },
     },
     async changeClassList(data){
     async changeClassList(data){
       this.classList = JSON.parse(JSON.stringify(data))
       this.classList = JSON.parse(JSON.stringify(data))
@@ -865,6 +866,7 @@ export default {
         this.syncClassData({
         this.syncClassData({
           courseId: this.id,
           courseId: this.id,
           title: this.courseDetail.title,
           title: this.courseDetail.title,
+          ctitle: this.courseDetail.copyTitle || this.courseDetail.title,
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseTime: courseTime,
           courseTime: courseTime,
           startTime: this.startTime,
           startTime: this.startTime,

+ 2 - 0
src/components/pptEasyClass/indexPS.vue

@@ -225,6 +225,7 @@ export default {
       }
       }
       // this.gotoCourse(classId);
       // this.gotoCourse(classId);
       this.$refs.selectTeachingClassDialogRef.close();
       this.$refs.selectTeachingClassDialogRef.close();
+      this.setoTime("1");
     },
     },
     async changeClassList(data){
     async changeClassList(data){
       this.classList = JSON.parse(JSON.stringify(data))
       this.classList = JSON.parse(JSON.stringify(data))
@@ -865,6 +866,7 @@ export default {
         this.syncClassData({
         this.syncClassData({
           courseId: this.id,
           courseId: this.id,
           title: this.courseDetail.title,
           title: this.courseDetail.title,
+          ctitle: this.courseDetail.copyTitle || this.courseDetail.title,
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseTime: courseTime,
           courseTime: courseTime,
           startTime: this.startTime,
           startTime: this.startTime,

+ 1 - 0
src/components/pptEasyClass/index_old.vue

@@ -218,6 +218,7 @@ export default {
       this.syncClassData({
       this.syncClassData({
         courseId: this.id,
         courseId: this.id,
         title: this.courseDetail.title,
         title: this.courseDetail.title,
+        ctitle: this.courseDetail.copyTitle || this.courseDetail.title,
         courseGrade: this.tcid2 ? this.tcid2 : '',
         courseGrade: this.tcid2 ? this.tcid2 : '',
         courseTime: courseTime,
         courseTime: courseTime,
         startTime: this.startTime,
         startTime: this.startTime,

+ 1 - 0
src/components/studyStudent.vue

@@ -21047,6 +21047,7 @@ export default {
         this.syncClassData({
         this.syncClassData({
           courseId: this.id,
           courseId: this.id,
           title: this.courseDetail.title,
           title: this.courseDetail.title,
+          ctitle: this.courseDetail.copyTitle || this.courseDetail.title,
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseGrade: this.tcid2 ? this.tcid2 : '',
           courseTime: courseTime,
           courseTime: courseTime,
           startTime: this.startTime,
           startTime: this.startTime,

+ 87 - 8
src/mixins/mixin.js

@@ -2,6 +2,7 @@ export const myMixin = {
   data() {
   data() {
     return {
     return {
         userJson: {},
         userJson: {},
+        packageArray: [],
     };
     };
   },
   },
   methods: {
   methods: {
@@ -46,6 +47,7 @@ export const myMixin = {
         console.log(e);
         console.log(e);
         return this.addOp3(userTime, loadTime, object, status,'selectUser2');
         return this.addOp3(userTime, loadTime, object, status,'selectUser2');
       }
       }
+
       let _time = new Date()
       let _time = new Date()
         .toLocaleString("zh-CN", { hour12: false, timeZone: "Asia/Shanghai" })
         .toLocaleString("zh-CN", { hour12: false, timeZone: "Asia/Shanghai" })
         .replace(/\//g, "-");
         .replace(/\//g, "-");
@@ -93,21 +95,59 @@ export const myMixin = {
         console.log(e);
         console.log(e);
         return this.syncClassData(classData,'selectUser2');
         return this.syncClassData(classData,'selectUser2');
       }
       }
+
+      if(!this.packageArray || this.packageArray.length == 0){
+        let res = await this.ajax.get(this.$store.state.api + "selectai6AllCourse");
+        this.packageArray = res.data[0].map(item => {
+          let json = JSON.parse(item.package);
+          return json;
+        });
+        console.log(this.packageArray);
+      }
+      console.log(this.packageArray);
+
+      let coursePackageName2 = '';
+      let courseName = '';
+      let courseGrade2 = '';
+
+      for(let item of this.packageArray){
+        if(classData.ctitle.includes(item.courseName)){
+          coursePackageName2 = item.coursePackage;
+          courseName = item.courseName;
+          courseGrade2 = item.grade;
+          break;
+        }
+      }
+      
+      
       let courseGrade = classData.courseGrade ? await this.ajax.get(this.$store.state.api + "getClassById", { id: classData.courseGrade }) : '';
       let courseGrade = classData.courseGrade ? await this.ajax.get(this.$store.state.api + "getClassById", { id: classData.courseGrade }) : '';
       let coursePackageName = await this.ajax.get(this.$store.state.api + "getCopyCourseName", { id: classData.courseId });
       let coursePackageName = await this.ajax.get(this.$store.state.api + "getCopyCourseName", { id: classData.courseId });
+
+      if(courseGrade && !courseGrade2){
+        let array = this.packageArray.sort((a, b) => a.sort - b.sort)
+        for(let item2 of array){
+          if(courseGrade.includes(item2.grade)){
+            coursePackageName2 = item2.coursePackage;
+            courseName = item2.courseName;
+            courseGrade2 = item2.grade;
+            break;
+          }
+        }
+      }
+
       let params = {
       let params = {
         "serverName": "深教AI6",
         "serverName": "深教AI6",
         "dataType": 1,
         "dataType": 1,
         "teacherName": this.userJson.username,
         "teacherName": this.userJson.username,
         "teacherAccount": this.userJson.accountNumber,
         "teacherAccount": this.userJson.accountNumber,
         "teacherPhone": this.userJson.phonenumber,
         "teacherPhone": this.userJson.phonenumber,
-        "eduId": this.userJson.sessionid,
+        "eduId": this.userJson.eduid || this.userJson.sessionid,
         "schoolName": this.userJson.schoolName,
         "schoolName": this.userJson.schoolName,
         "area": this.schooldest,
         "area": this.schooldest,
-        "coursePackageName": coursePackageName.data[0][0].title,
+        "coursePackageName": coursePackageName2 ? coursePackageName2 : coursePackageName.data[0][0].title,
         "courseId": classData.courseId,
         "courseId": classData.courseId,
-        "courseName": classData.title,
-        "courseGrade": courseGrade ? courseGrade.data[0][0].name : '无年级',
+        "courseName": courseName || classData.title,
+        "courseGrade": courseGrade2 ? courseGrade2 : courseGrade.data[0][0].name || '无年级',
         "courseTime": classData.courseTime,
         "courseTime": classData.courseTime,
         "startTime": classData.startTime,
         "startTime": classData.startTime,
         "endTime": classData.endTime
         "endTime": classData.endTime
@@ -137,21 +177,60 @@ export const myMixin = {
         console.log(e);
         console.log(e);
         return this.syncClassData(classData,'selectUser2');
         return this.syncClassData(classData,'selectUser2');
       }
       }
+
+      
+      if(!this.packageArray || this.packageArray.length == 0){
+        let res = await this.ajax.get(this.$store.state.api + "selectai6AllCourse");
+        this.packageArray = res.data[0].map(item => {
+          let json = JSON.parse(item.package);
+          return json;
+        });
+        console.log(this.packageArray);
+      }
+      console.log(this.packageArray);
+
+      
+      let coursePackageName2 = '';
+      let courseName = '';
+      let courseGrade2 = '';
+
+      for(let item of this.packageArray){
+        if(classData.ctitle.includes(item.courseName)){
+          coursePackageName2 = item.coursePackage;
+          courseName = item.courseName;
+          courseGrade2 = item.grade;
+          break;
+        }
+      }
+
       let courseGrade = classData.courseGrade ? await this.ajax.get(this.$store.state.api + "getClassById", { id: classData.courseGrade }) : '';
       let courseGrade = classData.courseGrade ? await this.ajax.get(this.$store.state.api + "getClassById", { id: classData.courseGrade }) : '';
       let coursePackageName = await this.ajax.get(this.$store.state.api + "getCopyCourseName", { id: classData.courseId });
       let coursePackageName = await this.ajax.get(this.$store.state.api + "getCopyCourseName", { id: classData.courseId });
+
+      if(courseGrade && !courseGrade2){
+        let array = this.packageArray.sort((a, b) => a.sort - b.sort)
+        for(let item2 of array){
+          if(courseGrade.includes(item2.grade)){
+            coursePackageName2 = item2.coursePackage;
+            courseName = item2.courseName;
+            courseGrade2 = item2.grade;
+            break;
+          }
+        }
+      }
+
       let params = {
       let params = {
         "serverName": "深教AI6",
         "serverName": "深教AI6",
         "dataType": 0,
         "dataType": 0,
         "teacherName": this.userJson.username,
         "teacherName": this.userJson.username,
         "teacherAccount": this.userJson.accountNumber,
         "teacherAccount": this.userJson.accountNumber,
         "teacherPhone": this.userJson.phonenumber,
         "teacherPhone": this.userJson.phonenumber,
-        "eduId": this.userJson.sessionid,
+        "eduId": this.userJson.eduid || this.userJson.sessionid,
         "schoolName": this.userJson.schoolName,
         "schoolName": this.userJson.schoolName,
         "area": this.schooldest,
         "area": this.schooldest,
-        "coursePackageName": coursePackageName.data[0][0].title,
+        "coursePackageName": coursePackageName2 ? coursePackageName2 : coursePackageName.data[0][0].title,
         "courseId": classData.courseId,
         "courseId": classData.courseId,
-        "courseName": classData.title,
-        "courseGrade": courseGrade ? courseGrade.data[0][0].name : '无年级',
+        "courseName": courseName || classData.title,
+        "courseGrade": courseGrade2 ? courseGrade2 : courseGrade.data[0][0].name || '无年级',
         "courseTime": classData.courseTime,
         "courseTime": classData.courseTime,
         "startTime": classData.startTime,
         "startTime": classData.startTime,
         "endTime": classData.endTime
         "endTime": classData.endTime