Kaynağa Gözat

refactor(components,mixin): 优化同步逻辑与区域映射

1. 为多个vue组件的setoTime方法增加async修饰并获取服务器时间作为startTime
2. 新增区域编码到名称的映射配置,替换原直接上传区域编码的逻辑
3. 调整syncClassData方法支持回调函数,优化课程地址设置逻辑
4. 修改doSyncClassData方法支持传入类型参数控制回调执行
lsc 5 saat önce
ebeveyn
işleme
6e31025134

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

@@ -21987,7 +21987,8 @@ export default {
         _this.setoTime("600");
         _this.setoTime("600");
       }, 600000);
       }, 600000);
     },
     },
-    setoTime(time) {
+    async setoTime(time) {
+      this.startTime = await this.getServerTime()
       this.doSyncClassData();
       this.doSyncClassData();
       let params = [
       let params = [
         {
         {

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

@@ -17396,7 +17396,8 @@ export default {
         _this.setoTime("600");
         _this.setoTime("600");
       }, 600000);
       }, 600000);
     },
     },
-    setoTime(time) {
+    async setoTime(time) {
+      this.startTime = await this.getServerTime()
       this.doSyncClassData();
       this.doSyncClassData();
       let params = [
       let params = [
         {
         {

+ 6 - 4
src/components/pptEasyClass/index.vue

@@ -759,8 +759,7 @@ export default {
       // }
       // }
     },
     },
     gotoCourseManage(){
     gotoCourseManage(){
-      this.doSyncClassData();
-      parent.setCourseUrl();
+      this.doSyncClassData(2);
     },
     },
     afterClass() {
     afterClass() {
       if (this.recordedForm.status == 1) {
       if (this.recordedForm.status == 1) {
@@ -889,7 +888,8 @@ export default {
         _this.setoTime("600");
         _this.setoTime("600");
       }, 600000);
       }, 600000);
     },
     },
-    setoTime(time) {
+    async setoTime(time) {
+      this.startTime = await this.getServerTime()
       this.doSyncClassData();
       this.doSyncClassData();
       let params = [
       let params = [
         {
         {
@@ -915,7 +915,7 @@ export default {
         this.jArray = Array;
         this.jArray = Array;
       })
       })
     },
     },
-    async doSyncClassData() {
+    async doSyncClassData(type) {
       let userArray = ['6fbc6471-1d48-11ed-8c78-005056b86db5','333d0dfc-1cd9-11ef-bee5-005056b86db5','6fbce5ef-1d48-11ed-8c78-005056b86db5','66feffcc-ad35-11ed-b13d-005056b86db5']
       let userArray = ['6fbc6471-1d48-11ed-8c78-005056b86db5','333d0dfc-1cd9-11ef-bee5-005056b86db5','6fbce5ef-1d48-11ed-8c78-005056b86db5','66feffcc-ad35-11ed-b13d-005056b86db5']
       if (this.courseDetail.userid == this.userid && (this.org == '16ace517-b5c7-4168-a9bb-a9e0035df840' || userArray.includes(this.userid))) {
       if (this.courseDetail.userid == this.userid && (this.org == '16ace517-b5c7-4168-a9bb-a9e0035df840' || userArray.includes(this.userid))) {
         let endTime = await this.getServerTime()
         let endTime = await this.getServerTime()
@@ -928,6 +928,8 @@ export default {
           courseTime: courseTime,
           courseTime: courseTime,
           startTime: this.startTime,
           startTime: this.startTime,
           endTime: endTime,
           endTime: endTime,
+        }, 'selectUser', ()=>{
+          type == 2 ? '' : parent.setCourseUrl();
         })
         })
         console.log('同步数据')
         console.log('同步数据')
       }
       }

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

@@ -892,7 +892,8 @@ export default {
         _this.setoTime("600");
         _this.setoTime("600");
       }, 600000);
       }, 600000);
     },
     },
-    setoTime(time) {
+    async setoTime(time) {
+      this.startTime = await this.getServerTime()
       this.doSyncClassData();
       this.doSyncClassData();
       let params = [
       let params = [
         {
         {

+ 2 - 1
src/components/studyStudent.vue

@@ -17330,7 +17330,8 @@ export default {
         _this.setoTime("600");
         _this.setoTime("600");
       }, 600000);
       }, 600000);
     },
     },
-    setoTime(time) {
+    async setoTime(time) {
+      this.startTime = await this.getServerTime()
       this.doSyncClassData();
       this.doSyncClassData();
       let params = [
       let params = [
         {
         {

+ 24 - 3
src/mixins/mixin.js

@@ -5,6 +5,20 @@ export const myMixin = {
         packageArray: [],
         packageArray: [],
         idleTimer: null,
         idleTimer: null,
         idleTimeout: 600000,
         idleTimeout: 600000,
+        areaJson: [
+          { name: '罗湖区', code: '440303' },
+          { name: '福田区', code: '440304' },
+          { name: '南山区', code: '440305' },
+          { name: '宝安区', code: '440306' },
+          { name: '龙岗区', code: '440307' },
+          { name: '盐田区', code: '440308' },
+          { name: '龙华区', code: '440309' },
+          { name: '坪山区', code: '440310' },
+          { name: '光明区', code: '440311' },
+          { name: '大鹏新区', code: '4403A4' },
+          { name: '深汕特别合作区', code: '441521' },
+          { name: '深汕特别合作区', code: '4403A5' }
+        ]
     };
     };
   },
   },
   mounted() {
   mounted() {
@@ -137,7 +151,7 @@ export const myMixin = {
         });
         });
     },
     },
     // 新增:上课/备课数据实时同步接口
     // 新增:上课/备课数据实时同步接口
-    async syncClassData(classData,api = 'selectUser') {
+    async syncClassData(classData,api = 'selectUser', callback) {
       if (!this.$route.query.userid) return
       if (!this.$route.query.userid) return
       try {
       try {
         if(!this.userJson || !this.userJson.accountNumber){
         if(!this.userJson || !this.userJson.accountNumber){
@@ -189,6 +203,8 @@ export const myMixin = {
           }
           }
         }
         }
       }
       }
+      let area = this.areaJson.find(item => item.code === this.userJson.schooldest);
+      let dest = area ? area.name : '未知';
 
 
       let params = {
       let params = {
         "serverName": "深教AI6",
         "serverName": "深教AI6",
@@ -198,7 +214,7 @@ export const myMixin = {
         "teacherPhone": this.userJson.phonenumber,
         "teacherPhone": this.userJson.phonenumber,
         "eduId": this.userJson.eduid || this.userJson.sessionid,
         "eduId": this.userJson.eduid || this.userJson.sessionid,
         "schoolName": this.userJson.schoolName,
         "schoolName": this.userJson.schoolName,
-        "area": this.userJson.schooldest,
+        "area": dest,
         "coursePackageName": coursePackageName2 ? coursePackageName2 : coursePackageName.data[0][0].title,
         "coursePackageName": coursePackageName2 ? coursePackageName2 : coursePackageName.data[0][0].title,
         "courseId": classData.courseId,
         "courseId": classData.courseId,
         "courseName": courseName || classData.title,
         "courseName": courseName || classData.title,
@@ -212,9 +228,11 @@ export const myMixin = {
           this.$store.state.apiSz + 'sync/class',
           this.$store.state.apiSz + 'sync/class',
           params
           params
         );
         );
+        callback && callback();
         return { success: true, data: response.data };
         return { success: true, data: response.data };
       } catch (error) {
       } catch (error) {
         console.error("同步失败:", error);
         console.error("同步失败:", error);
+        callback && callback();
         return { success: false, msg: error };
         return { success: false, msg: error };
       }
       }
     },
     },
@@ -272,6 +290,9 @@ export const myMixin = {
           }
           }
         }
         }
       }
       }
+      
+      let area = this.areaJson.find(item => item.code === this.userJson.schooldest);
+      let dest = area ? area.name : '未知';
 
 
       let params = {
       let params = {
         "serverName": "深教AI6",
         "serverName": "深教AI6",
@@ -281,7 +302,7 @@ export const myMixin = {
         "teacherPhone": this.userJson.phonenumber,
         "teacherPhone": this.userJson.phonenumber,
         "eduId": this.userJson.eduid || this.userJson.sessionid,
         "eduId": this.userJson.eduid || this.userJson.sessionid,
         "schoolName": this.userJson.schoolName,
         "schoolName": this.userJson.schoolName,
-        "area": this.userJson.schooldest,
+        "area": dest,
         "coursePackageName": coursePackageName2 ? coursePackageName2 : coursePackageName.data[0][0].title,
         "coursePackageName": coursePackageName2 ? coursePackageName2 : coursePackageName.data[0][0].title,
         "courseId": classData.courseId,
         "courseId": classData.courseId,
         "courseName": courseName || classData.title,
         "courseName": courseName || classData.title,