|
@@ -11,6 +11,22 @@ export const myMixin = {
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ async getServerTime() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ let res = await this.ajax.get(this.$store.state.api + 'getServerTime');
|
|
|
|
|
+ console.log(res)
|
|
|
|
|
+ let time = res.data.time
|
|
|
|
|
+ return new Date(time).toLocaleString("zh-CN", {
|
|
|
|
|
+ hour12: false,
|
|
|
|
|
+ timeZone: "Asia/Shanghai"
|
|
|
|
|
+ }).replace(/\//g, "-")
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ return new Date().toLocaleString("zh-CN", {
|
|
|
|
|
+ hour12: false,
|
|
|
|
|
+ timeZone: "Asia/Shanghai"
|
|
|
|
|
+ }).replace(/\//g, "-")
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
detectBrowser() {
|
|
detectBrowser() {
|
|
|
const ua = navigator.userAgent;
|
|
const ua = navigator.userAgent;
|
|
|
|
|
|
|
@@ -226,6 +242,95 @@ export const myMixin = {
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
|
|
+ },
|
|
|
|
|
+ // 新增:上课/备课数据实时同步接口
|
|
|
|
|
+ async syncClassData2(classData,api = 'selectUser') {
|
|
|
|
|
+ if (!this.$route.query.userid) return
|
|
|
|
|
+ try {
|
|
|
|
|
+ if(!this.userJson || !this.userJson.accountNumber){
|
|
|
|
|
+ let res = await this.ajax.get(this.$store.state.api + api, {
|
|
|
|
|
+ userid: this.$route.query.userid
|
|
|
|
|
+ });
|
|
|
|
|
+ this.userJson = res.data[0][0]
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (e) {
|
|
|
|
|
+ console.log(e);
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.syncClassData2(classData,'selectUser2');
|
|
|
|
|
+ }, 10000);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ 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 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.data && courseGrade.data[0] && courseGrade.data[0][0] && courseGrade.data[0][0].grade.includes(item2.grade)){
|
|
|
|
|
+ coursePackageName2 = item2.coursePackage;
|
|
|
|
|
+ courseName = item2.courseName;
|
|
|
|
|
+ courseGrade2 = item2.grade;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ let area = this.areaJson.find(item => this.userJson.schooldest.includes(item.code) || this.userJson.schooldest.includes(item.name));
|
|
|
|
|
+ let dest = area ? area.name : '未知';
|
|
|
|
|
+
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ "serverName": "深教AI6",
|
|
|
|
|
+ "dataType": 0,
|
|
|
|
|
+ "teacherName": this.userJson.username,
|
|
|
|
|
+ "teacherAccount": this.userJson.accountNumber,
|
|
|
|
|
+ "teacherPhone": this.userJson.phonenumber,
|
|
|
|
|
+ "eduId": this.userJson.eduid || this.userJson.sessionid,
|
|
|
|
|
+ "schoolName": this.userJson.schoolName,
|
|
|
|
|
+ "area": dest,
|
|
|
|
|
+ "coursePackageName": coursePackageName2 ? coursePackageName2 : coursePackageName.data[0][0].title,
|
|
|
|
|
+ "courseId": classData.courseId,
|
|
|
|
|
+ "courseName": courseName || classData.title,
|
|
|
|
|
+ "courseGrade": courseGrade2 ? courseGrade2 : courseGrade.data && courseGrade.data[0] && courseGrade.data[0][0] ? courseGrade.data[0][0].name : '无年级',
|
|
|
|
|
+ "courseTime": classData.courseTime,
|
|
|
|
|
+ "startTime": classData.startTime,
|
|
|
|
|
+ "endTime": classData.endTime
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ const response = await this.ajax.post(
|
|
|
|
|
+ this.$store.state.apiSz + 'sync/class',
|
|
|
|
|
+ params
|
|
|
|
|
+ );
|
|
|
|
|
+ return { success: true, data: response.data };
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error("同步失败:", error);
|
|
|
|
|
+ return { success: false, msg: error };
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|