lsc преди 5 месеца
родител
ревизия
0be81f152c

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.98d579179bace5a8fb4b4e9d74205e0e.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.0ad6c5648a38a6d1fa8f.js></script><script type=text/javascript src=./static/js/vendor.8db9a3f753f5644e3c5e.js></script><script type=text/javascript src=./static/js/app.c813a0a54ff86cc104cb.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.67e66c3e2fa989bd55de4ecf962699c9.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.0ad6c5648a38a6d1fa8f.js></script><script type=text/javascript src=./static/js/vendor.8db9a3f753f5644e3c5e.js></script><script type=text/javascript src=./static/js/app.d31f12ec62b7d1745e14.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/css/app.67e66c3e2fa989bd55de4ecf962699c9.css


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/css/app.67e66c3e2fa989bd55de4ecf962699c9.css.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/js/app.d31f12ec62b7d1745e14.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/js/app.d31f12ec62b7d1745e14.js.map


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/static/js/manifest.0ad6c5648a38a6d1fa8f.js.map


Файловите разлики са ограничени, защото са твърде много
+ 180 - 203
src/components/pages/synergyCourse/addCourse.vue


+ 27 - 88
src/components/pages/synergyCourse/course.vue

@@ -6,16 +6,10 @@
     display: flex;
     align-items: center;
 ">
-          <span>协同建构</span>
+          <span>CocoNote</span>
         </div>
         <div class="student_button">
-          <button class="r_pub_button_course" @mouseenter="btnDisplay = true" @mouseleave="btnDisplay = false">
-            <span>创建协同建构</span>
-            <div v-show="btnDisplay" class="buttonBox">
-              <div type="primary" @click="goToCourse3()">标准创建</div>
-              <div type="primary" @click="goToCourseSimple()">快速创建</div>
-            </div>
-          </button>
+          <el-button type="primary" class="bgColor" @click="goToCourse3()">Create</el-button>
         </div>
       </div>
       <div class="reBox">
@@ -23,13 +17,13 @@
           <!-- <div>分类筛选</div> -->
           <div class="reTopCh">
             <el-select v-model="groupA" @change="search" v-if="false">
-              <el-option value="4" label="全部"></el-option>
+              <el-option value="4" label="All"></el-option>
               <el-option value="2" label="我的课程"></el-option>
               <el-option value="3" label="协同课程"></el-option>
               <el-option value="1" label="他人课程"></el-option>
             </el-select>
             <el-select v-model="groupA" @change="search" v-if="false">
-              <el-option value="0" label="全部"></el-option>
+              <el-option value="0" label="All"></el-option>
               <el-option value="2" label="我的课程"></el-option>
               <el-option value="3" label="协同课程"></el-option>
             </el-select>
@@ -37,9 +31,9 @@
               <div class="search">
                 <img src="../../../assets/icon/search.png" alt="" />
               </div>
-              <input class="sInput" type="text" placeholder="请输入关键字" v-model="courseName" @change="getCourse()" @input="getCourse()" />
+              <input class="sInput" type="text" placeholder="Search" v-model="courseName" @input="getCourse()" />
             </div>
-            <el-button type="primary" class="bgColor" style="margin-left: 10px;" @click="reset">重置</el-button>
+            <el-button type="primary" class="bgColor" style="margin-left: 10px;" @click="reset">Reset</el-button>
           </div>
         </div>
         <div class="pType_box all_choose" v-if="oid == '69893dca-1d47-11ed-8c78-005056b86db5'">
@@ -65,7 +59,7 @@
               ">
               <div class="cName" @click="getCourse2(item.name, '', item.id, 1)"
                 :class="typeE.indexOf(item.id) != -1 ? 'isCType' : ''">
-                全部
+                All
               </div>
               <div v-for="(item1, index1) in CourseTypeJson[item.id]" :key="index + '-' + index1" :label="item1.id"
                 @click="getCourse2(item.name, item.id, item1.id, 2)">
@@ -82,7 +76,7 @@
             <span><span>所有者</span></span>
             <div class="typeCss">
               <div class="cName" :class="groupA == '4' ? 'isCType' : ''" @click="groupA = '4'; search();">
-                全部
+                All
               </div>
               <div class="cName" :class="groupA == '2' ? 'isCType' : ''" @click="groupA = '2'; search();">
                 我的课程
@@ -99,7 +93,7 @@
             <span><span>所有者</span></span>
             <div class="typeCss">
               <div class="cName" :class="groupA == '0' ? 'isCType' : ''" @click="groupA = '0'; search();">
-                全部
+                All
               </div>
               <div class="cName" :class="groupA == '2' ? 'isCType' : ''" @click="groupA = '2'; search();">
                 我的课程
@@ -127,7 +121,7 @@
             <span v-if="CourseTypeJson[item.id].length">{{ item.name }}</span>
             <el-select v-if="CourseTypeJson[item.id].length" v-model="courseTypeId[item.id]" placeholder="请选择"
               @change="getTypeName">
-              <el-option label="全部" value="1">全部</el-option>
+              <el-option label="All" value="1">All</el-option>
               <el-option v-for="item1 in CourseTypeJson[item.id]" :key="item1.id" :label="item1.name" :value="item1.id">
               </el-option>
             </el-select>
@@ -145,15 +139,15 @@
       <div class="student_table">
         <div class="course_box">
           <div class="out_box" v-for="(item, index) in course" :key="index">
-            <div class="myCourse" v-if="item.userid == userid">我的创建</div>
+            <div class="myCourse" v-if="item.userid == userid">MyNote</div>
             <div class="myCourse" style="background: #4187f0" v-else-if="!item.course_teacher ||
               (item.course_teacher &&
                 item.course_teacher.indexOf(userid) == -1)
               ">
-              他人创建
+              Shared
             </div>
-            <div class="xtCourse" v-else>协同建构</div>
-            <div class="tup" @click="open(item.courseId, item.userid)" style="cursor: pointer;">
+            <div class="xtCourse" v-else>CocoNote</div>
+            <div class="tup">
               <img :src="item.cover != null && item.cover != ''
                 ? JSON.parse(item.cover).length > 0
                   ? JSON.parse(item.cover)[0].url
@@ -181,7 +175,7 @@
             </div>
             <div class="three_bottom">
               <!-- v-if="role == '1'" @click="get(item)"-->
-              <div @click="open(item.courseId, item.userid)">打开</div>
+              <div @click="open(item.courseId, item.userid)">Open</div>
               <!-- <div @click="jump(item.courseId)" v-else>评课</div> -->
               <!-- <div v-if="((item.userid == userid) ||
                 (item.course_teacher &&
@@ -203,7 +197,7 @@
               <div v-if="((item.userid == userid)) &&
                 item.state == 1
                 " @click="goToCourse3(item.courseId)">
-                修改
+                Modified
               </div>
               <!-- <div v-if="groupA == '0'" @click="
                 goTo(
@@ -222,11 +216,11 @@
                 评价
               </div> -->
               <div v-if="((item.userid == userid))" @click="copyCourse(item.courseId)">
-                复制
+                Copy
               </div>
               <!-- v-if="item.isCourseType == 1 || role == '1'" -->
               <div v-if="((item.userid == userid))" @click="deleteCourse(item.courseId)">
-                删除
+                Delete
               </div>
               <!-- <div class="more">
                 <span style="font-size: 18px; font-weight: 700">...</span>
@@ -511,59 +505,6 @@ export default {
         );
       }
     },
-    formatDateTime2(timestamp){
-      const date = new Date(timestamp); // 根据时间戳创建Date对象
-      const year = date.getFullYear(); // 获取年份
-      const month = date.getMonth() + 1; // 获取月份,需要加1
-      const day = date.getDate(); // 获取日期
-      const formattedDate = `${year}-${this.handlerZero(month)}-${this.handlerZero(day)}`; // 拼接成格式化后的日期字符串
-      return formattedDate;
-    },
-    handlerZero(param){
-      return param= param<10?('0'+param):param
-    },
-    goToCourseSimple(){
-      let params = [
-        {
-          uid: this.userid,
-          title: top.US.userInfo.username+this.formatDateTime2(new Date().getTime())+"的快速创建",
-          //title: "黄明浩"+this.formatDateTime2(new Date().getTime())+"的快速创建",
-          brief: "",
-          cover:
-          JSON.stringify([
-                {
-                  name: "noBanner.jpg",
-                  url: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/wu1676621845022.png",
-                  uid: 1656409780264,
-                  status: "success",
-                },
-              ]),
-          evaId: "",
-          astudent:"",
-          see: 1,
-          chapters: JSON.stringify([{"dyName":"","chapterInfo":[{"isread":false,"chapterid":"468faf7e-ff3e-c2bf-2829-a78fd5fea04e","title":"","courseName":"","taskJson":[{"task":"","taskDetail":"","chapterData":[],"toolChoose":[{"tool":[],"toolDetail":"","toolType":0,"askCount":1,"askTitle":"","askJson":[{"askstitle":"","askItem":1,"checkList":[]}]}],"toolText":"","isShowTools":false,"askCount":1,"isFold":0,"askTitle":"","askJson":[{"askstitle":"","askItem":1,"checkList":[]}],"checkJson":[{"checkCount":[],"checkPerent":[]}],"homeworkList":[],"proVisible":false,"proVisible2":false}],"itemCount":1,"fileList1":[],"video":[],"testData":[],"pData":[],"templateArray":[]}]}]),
-          template:  "" ,
-          courseType: JSON.stringify(this.courseTypeId),
-          ateacher:"",
-          inviteCode: "[]",
-        },
-      ];
-      this.ajax
-        .post(this.$store.state.api + "addSynergyCourse", params)
-        .then((res) => {
-          console.log(res);
-          this.$message({
-            message: "新增成功",
-            type: "success",
-          });
-          this.getCourse();
-          this.open(res.data.courseId, this.userid)
-        })
-        .catch((err) => {
-          this.$message.error("网络不佳");
-          console.error(err);
-        });
-    },
     tableRowClassName({ row, rowIndex }) {
       if ((rowIndex + 1) % 2 === 0) {
         return "even_row";
@@ -572,7 +513,7 @@ export default {
       }
     },
     open(cid, uid) {
-      if (uid == this.userid || top.US.userInfo.role==1) {
+      if (uid == this.userid) {
         window.parent.postMessage(
           {
             tools: "opencCscl",
@@ -609,7 +550,7 @@ export default {
                 "*"
               );
             } else {
-              this.$message.error("没有加入分组请先加入分组");
+              this.$message.error("Please join the group");
               this.goToCourse3(cid)
               // window.parent.postMessage(
               //   { 
@@ -621,7 +562,7 @@ export default {
               // );
             }
           } else {
-            this.$message.error("没有加入分组请先加入分组");
+            this.$message.error("Please join the group");
             this.goToCourse3(cid)
             // window.parent.postMessage(
             //   { 
@@ -929,7 +870,7 @@ export default {
       //     }
       //   }
       // }
-      //console.log("typea", this.typea);
+      console.log("typea", this.typea);
       this.isLoading = true;
       let params = {
         type: this.groupA,
@@ -988,9 +929,9 @@ export default {
     // },
     deleteCourse(cid) {
       // if (this.time()) {
-      this.$confirm("确定删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm("确定删除吗?", "Notification", {
+        confirmButtonText: "Save",
+        cancelButtonText: "Cancel",
         type: "warning",
       })
         .then(() => {
@@ -1051,9 +992,9 @@ export default {
               this.CourseType2[2].id.push(res.data[0][cti].id);
             }
             if (res.data[0][cti].id == "34628934-d02f-11ec-8c78-005056b86db5" || res.data[0][cti].id == "34628934-d02f-11ec-8c78-005056b86ac5") {
-              res.data[0][cti].name = "年级";
+              res.data[0][cti].name = "Grade";
             } else if (res.data[0][cti].id == "34629907-d02f-11ec-8c78-005056b86db5" || res.data[0][cti].id == "34629907-d02f-11ec-8c78-005056b86ac5") {
-              res.data[0][cti].name = "学科";
+              res.data[0][cti].name = "Subject";
             } else if (res.data[0][cti].id == "34629bcc-d02f-11ec-8c78-005056b86db5") {
               res.data[0][cti].name = "主题";
             }
@@ -1338,7 +1279,6 @@ export default {
   display: flex;
   /* overflow: hidden; */
   height: 40px;
-  position: relative;
 }
 
 .upload-demo {
@@ -1996,7 +1936,6 @@ export default {
   border-radius: 5px;
   box-shadow: 0 0 3px 1px #e3e3e3;
   width: 100%;
-  font-size: 16px;
 }
 
 .buttonBox>div {

+ 89 - 142
src/components/pages/synergyCourse/group/group.vue

@@ -3,18 +3,19 @@
         <div style="overflow: auto">
             <div class="g_d_btnBox">
                 <!-- <div class="btn_left" v-if="type == 1 || type == 4">
-                    <div @click="setClassid('1')" :class="{ active: classid == '1' }" v-if="!classList.length">全部</div>
+                    <div @click="setClassid('1')" :class="{ active: classid == '1' }" v-if="!classList.length">All</div>
                     <div @click="setClassid(item.id)" :class="{ active: classid == item.id }"
                         v-for="(item, index) in classList" :key="index">{{ item.name }}</div>
                 </div>
                 <div class="btn_left" v-if="type == 2">
-                    <div @click="setClassid('1')" :class="{ active: classid == '1' }" v-if="!classList.length">全部</div>
+                    <div @click="setClassid('1')" :class="{ active: classid == '1' }" v-if="!classList.length">All</div>
                     <div @click="setClassid(item.id)" :class="{ active: classid == item.id }"
                         v-for="(item, index) in classList" :key="index">{{ item.name }}</div>
                 </div> -->
                 <div></div>
                 <!-- || (courseDetail.course_teacher && courseDetail.course_teacher.indexOf(userid) != -1) -->
-                <div class="btn_right" v-if="courseDetail.userid == userid">
+                <div class="btn_right"
+                    v-if="courseDetail.userid == userid">
                     <div style="color: rgb(171 171 171); margin: 0 10px 0 0" v-show="false">
                         提示:开启【开放选座】,能够自由加入和退出小组。
                     </div>
@@ -36,20 +37,20 @@
                         <el-switch v-model="isopen" class="switchCss" @change="openChair"></el-switch>
                     </div>
                     <div type="primary" @click="updateGroup" class="returnBtn" style="background-color: #225bc7">
-                        添加分组
+                        Create Group
                     </div>
-                    <div type="primary" @click="deleteCourseGroup" class="returnBtn" style="background-color: #225bc7">
-                        删除分组
+                    <div type="primary" @click="deleteCourseGroup" class="returnBtn" style="background-color: #225bc7" >
+                        Delete Group
                     </div>
                 </div>
-                <div class="btn_right" v-else>
+                <div class="btn_right"
+                    v-else>
                     <div style="color: rgb(171 171 171); margin: 0 10px 0 0">
                         提示:开启【开放选座】,能够自由加入和退出小组。
                     </div>
                     <div class="group_switch">
                         <span>开放选座</span>
-                        <el-switch v-model="islock" active-text="" class="switchCss" @change="lockChair"
-                            disabled></el-switch>
+                        <el-switch v-model="islock" active-text="" class="switchCss" @change="lockChair" disabled></el-switch>
                     </div>
                 </div>
             </div>
@@ -73,7 +74,7 @@
                                             groupStudent[g.id][0]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][0].name
-                                            : "空位置" }}</span>
+                                            : "Empty" }}</span>
                             </div>
                             <div v-if="groupJson.number > 4">
                                 <span :class="{
@@ -91,7 +92,7 @@
                                             groupStudent[g.id][4]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][4].name
-                                            : "空位置" }}</span>
+                                            : "Empty" }}</span>
                             </div>
                             <div v-if="groupJson.number > 8">
                                 <span :class="{
@@ -109,7 +110,7 @@
                                             groupStudent[g.id][8]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][8].name
-                                            : "空位置" }}</span>
+                                            : "Empty" }}</span>
                             </div>
                         </div>
                         <div class="g_d_group_tableBox">
@@ -130,7 +131,7 @@
                                                 groupStudent[g.id][2]
                                                 ? groupStudent[g.id] &&
                                                 groupStudent[g.id][2].name
-                                                : "空位置" }}</span>
+                                                : "Empty" }}</span>
                                 </div>
                                 <div v-if="groupJson.number > 6">
                                     <span :class="{
@@ -148,7 +149,7 @@
                                                 groupStudent[g.id][6]
                                                 ? groupStudent[g.id] &&
                                                 groupStudent[g.id][6].name
-                                                : "空位置" }}</span>
+                                                : "Empty" }}</span>
                                 </div>
                             </div>
                             <div class="g_d_group_table">
@@ -157,25 +158,27 @@
                                 </div>
                                 <div>
                                     <!-- && groupJson.islock == 2 -->
-                                    <div v-if="courseDetail.userid == userid" @click="deleteGroupChair(g.id, gindex)">
-                                        移除组员
+                                    <div v-if="courseDetail.userid == userid"
+                                        @click="deleteGroupChair(g.id, gindex)">
+                                        Remove Group Member
                                     </div>
                                     <div @click="selectGroup(g.id)"
                                         v-if="groupStudentUid && groupStudentUid[g.id].indexOf(userid) == -1 && courseDetail.userid !== userid">
-                                        加入分组
+                                        Join group
                                     </div>
                                     <div @click="
                                         exitGroup(groupStudent[g.id] &&
                                             groupStudent[g.id][
                                                 groupStudentUid[g.id].indexOf(userid)
                                             ].id)
-                                        " v-else-if="groupStudentUid && groupStudentUid[g.id].indexOf(userid) != -1">
+                                        "
+                                        v-else-if="groupStudentUid && groupStudentUid[g.id].indexOf(userid) != -1">
                                         退出分组
                                     </div>
                                     <div style="margin-top:10px"
-                                        v-if="(courseDetail.userid == userid) && groupStudent[g.id].length < groupJson.number"
+                                        v-if="(courseDetail.userid == userid ) && groupStudent[g.id].length < groupJson.number"
                                         @click="addGroupStudent(g.id)">
-                                        添加组员
+                                        Add Group Member
                                         <!-- || (courseDetail.course_teacher && courseDetail.course_teacher.indexOf(userid) != -1) -->
                                     </div>
                                 </div>
@@ -197,7 +200,7 @@
                                                 groupStudent[g.id][3]
                                                 ? groupStudent[g.id] &&
                                                 groupStudent[g.id][3].name
-                                                : "空位置" }}</span>
+                                                : "Empty" }}</span>
                                 </div>
                                 <div v-if="groupJson.number > 7">
                                     <span :class="{
@@ -215,7 +218,7 @@
                                                 groupStudent[g.id][7]
                                                 ? groupStudent[g.id] &&
                                                 groupStudent[g.id][7].name
-                                                : "空位置" }}</span>
+                                                : "Empty" }}</span>
                                 </div>
                             </div>
                         </div>
@@ -236,7 +239,7 @@
                                             groupStudent[g.id][1]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][1].name
-                                            : "空位置" }}</span>
+                                            : "Empty" }}</span>
                             </div>
                             <div v-if="groupJson.number > 5">
                                 <span :class="{
@@ -254,7 +257,7 @@
                                             groupStudent[g.id][5]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][5].name
-                                            : "空位置" }}</span>
+                                            : "Empty" }}</span>
                             </div>
                             <div v-if="groupJson.number > 9">
                                 <span :class="{
@@ -272,59 +275,53 @@
                                             groupStudent[g.id][9]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][9].name
-                                            : "空位置" }}</span>
+                                            : "Empty" }}</span>
                             </div>
                         </div>
                     </div>
                 </div>
                 <div v-else-if="!groupJson.group.length" style="text-align: center;">{{ courseDetail.userid == userid ?
-                    "暂无分组,请点击右上角设置分组" :
+                    "No groups available at the moment. Click the 'Create Group' button to set up groups" :
                     "老师暂未添加分组" }}</div>
                 <div v-else-if="!isopen" style="text-align: center;">{{ "已关闭分组" }}</div>
             </div>
         </div>
-        <el-dialog title="分组设置" :visible.sync="dialogVisibleGroup2" :append-to-body="true" width="650px"
+        <el-dialog title="Group Settings" :visible.sync="dialogVisibleGroup2" :append-to-body="true" width="650px"
             :before-close="handleClose" class="dialog_diy">
             <div class="groupBox">
                 <div v-if="groupJson2.group" class="groupContent">
-                    <div class="groupTitle">请设置小组数量及名称</div>
+                    <div class="groupTitle">Group Names</div>
                     <div v-for="(item, index) in groupJson2.group" :key="index" class="groupName">
-                        <span class="groupn">第{{ index + 1 }}组名称:</span>
+                        <span class="groupn">{{ index + 1 }}st Group Name:</span>
                         <el-input v-model="item.name" placeholder="请输入名称..." style="width: 250px"></el-input>
                         <div class="groupBtn">
                             <el-button type="primary" size="small" @click="addGroup(index)"
                                 v-if="(groupJson2.group.length - 1) == index">
-                                添加</el-button>
+                                Add</el-button>
                             <el-button type="primary" size="small" @click="deleteGroup(index)"
                                 v-if="groupJson2.group && groupJson2.group.length > 1">删除</el-button>
                         </div>
                     </div>
-                    <div class="batch_add_group">
-                        <span>批量添加小组:</span>
-                        <el-input-number v-model="addGroupNum" :min="0" label="批量添加小组"></el-input-number>
-                        <el-button style="margin-left:5px" type="primary" size="small" @click="handleAddGroupNumChange()">
-                            批量添加</el-button>
-                    </div>
                 </div>
                 <div class="groupContent">
-                    <div class="groupTitle">请设置每组人数</div>
-                    <el-input v-model="groupJson2.number" style="width:150px" placeholder="请输入2-10的数字"
+                    <div class="groupTitle">Group size</div>
+                    <el-input v-model="groupJson2.number" style="width:150px" placeholder="Enter an integer between 2 to 10"
                         @change="numberPan"></el-input>
                 </div>
             </div>
             <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisibleGroup2 = false; addGroupNum = 0;">取 消</el-button>
-                <el-button type="primary" @click="updateGroupJson(2)">确定</el-button>
+                <el-button @click="dialogVisibleGroup2 = false">Cancel</el-button>
+                <el-button type="primary" @click="updateGroupJson(2)">Save</el-button>
             </span>
         </el-dialog>
-        <el-dialog title="移除组员" :visible.sync="dialogVisibleDeleteGroup" :append-to-body="true" width="350px"
+        <el-dialog title="Remove Group Member" :visible.sync="dialogVisibleDeleteGroup" :append-to-body="true" width="350px"
             :before-close="handleClose" class="dialog_diy">
             <div>
                 <h2>
                     {{ this.deleteGroupArray.name }}
                 </h2>
                 <div style="color: rgb(171 171 171); margin-top: 10px">
-                    请选择要删除的组员
+                    Select member
                 </div>
                 <el-checkbox-group v-model="checkDeleteGroup">
                     <el-checkbox style="display: flex; margin-top: 20px" v-for="(item, index) in deleteGroupUser"
@@ -332,8 +329,8 @@
                 </el-checkbox-group>
             </div>
             <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisibleDeleteGroup = false">取 消</el-button>
-                <el-button type="primary" @click="deleteChair">确定</el-button>
+                <el-button @click="dialogVisibleDeleteGroup = false">Cancel</el-button>
+                <el-button type="primary" @click="deleteChair">Save</el-button>
             </span>
         </el-dialog>
         <el-dialog title="修改分组" :visible.sync="dialogVisibleUpdateGroup" :append-to-body="true" width="350px"
@@ -351,23 +348,23 @@
                 </el-radio-group>
             </div>
             <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisibleUpdateGroup = false">取 消</el-button>
-                <el-button type="primary" @click="updateChair">确定</el-button>
+                <el-button @click="dialogVisibleUpdateGroup = false">Cancel</el-button>
+                <el-button type="primary" @click="updateChair">Save</el-button>
             </span>
         </el-dialog>
-        <el-dialog title="添加组员" :visible.sync="dialogVisibleMember" :append-to-body="true" width="540px" height="80%"
+        <el-dialog title="Add Group Member" :visible.sync="dialogVisibleMember" :append-to-body="true" width="540px" height="80%"
             :before-close="handleClose" class="addNewPP" v-loading="loading">
             <div class="people">
                 <div class="people_top">
                     <div class="people_top_right">
                         <div class="people_search">
-                            <el-input placeholder="搜索学生的姓名" v-model="searchTN" @keyup.enter.native="getStudent"></el-input>
+                            <el-input placeholder="Search for name" v-model="searchTN" @keyup.enter.native="getStudent"></el-input>
                             <div class="search_img" @click="getStudent">
                                 <img src="../../../../assets/icon/search.png" alt />
                             </div>
                         </div>
                     </div>
-                    <div class="people_nav">选择成员</div>
+                    <div class="people_nav">Select member</div>
                 </div>
                 <!-- <div class="t_j_box" style="
                             padding: 20px 0 0 25px;
@@ -392,10 +389,9 @@
                 <div class="i_box_login2" v-if="classJuri.length">
                     <div :class="{ active: checkboxList3.indexOf(item.userid) != -1 }" v-for="item in classJuri"
                         :key="item.userid" :label="item.userid" @click="addGroupUser(item.userid)">
-                        <el-tooltip placement="top" :content="`${item.name ? item.name : '暂无姓名'}${item.group.length > 0 ? '在'+item.group.join('、') : ''}`">
+                        <el-tooltip placement="top" :content="item.name ? item.name : '暂无姓名'">
                             <span>{{ item.name ? item.name : "暂无姓名" }}</span>
                         </el-tooltip>
-                        <div class="grouplBox" v-if="item.group.length">{{ item.group.length }}</div>
                     </div>
                 </div>
                 <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
@@ -406,8 +402,8 @@
                     @current-change="handleCurrentChange"></el-pagination>
             </div> -->
             <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisibleMember = false">取 消</el-button>
-                <el-button type="primary" @click="joinGroup2">确定</el-button>
+                <el-button @click="dialogVisibleMember = false">Cancel</el-button>
+                <el-button type="primary" @click="joinGroup2">Save</el-button>
             </span>
         </el-dialog>
     </div>
@@ -418,7 +414,6 @@ export default {
     props: ['cid', 'classList', 'courseDetail', 'userid', "type", "classId", "oid", "people"],
     data() {
         return {
-            addGroupNum: 0,
             groupJson2: {},
             classid: "1",
             groupid: "",
@@ -454,20 +449,11 @@ export default {
         }
     },
     methods: {
-        handleAddGroupNumChange() {
-            for (let i = 0; i < this.addGroupNum; i++) {
-                this.groupJson2.group.push({
-                    name: "第" + (this.groupJson2.group.length + 1) + "组",
-                    id: this.guid()
-                });
-            }
-        },
         handleClose2(done) {
             this.$emit('update:dialogVisibleGroup', false)
             done();
         },
         handleClose(done) {
-            this.addGroupNum = 0;
             done();
         },
         getStudent() {
@@ -504,45 +490,26 @@ export default {
             // if(_user.indexOf(this.courseDetail.userid) == -1){
             //     _user.push(this.courseDetail.userid);
             // }
-            if (_user.indexOf(this.courseDetail.userid) !== -1) {
+            if(_user.indexOf(this.courseDetail.userid) !== -1){
                 _user.splice(_user.indexOf(this.courseDetail.userid), 1);
             }
-            let params = [{
+            let params = {
                 uid: _user.join(","),
-            }];
+            };
             this.ajax
-                .post(this.$store.state.api + "getAllUserByIdP", params)
-                .then((res) => {
-                    this.loading = false
+            .get(this.$store.state.api + "getAllUserById", params)
+            .then((res) => {
+            this.loading = false
                     if (res.data && res.data[0].length) {
-                        let students = res.data[0].filter((el) => {
-                            return this.groupStudentUid[this.gid].indexOf(el.userid) == -1
-                            // return el
+                        this.classJuri = res.data[0].filter((el) => {
+                            return this.allGroupStudentUid.indexOf(el.userid) == -1
                         });
-                        let studentsJson = {}
-                        for(var i = 0; i < students.length; i++){
-                            studentsJson[students[i].userid] = students[i]
-                            students[i].group = []
-                            let groupk = Object.keys(this.groupStudentUid)
-                            for(var j = 0; j < groupk.length; j++){
-                                let uid = this.groupStudentUid[groupk[j]]
-                                if(uid.indexOf(students[i].userid) !== -1){
-                                    for(var k = 0; k < this.groupJson.group.length; k++){
-                                        if(this.groupJson.group[k].id == groupk[j]){
-                                            students[i].group.push(this.groupJson.group[k].name)
-                                        }
-                                    }
-                                }
-                                
-                            }
-                        }
-                        this.classJuri = Object.values(studentsJson)
                     }
-                })
+            })
                 .catch((err) => {
-                    this.loading = false
-                    console.error(err);
-                });
+            this.loading = false
+                console.error(err);
+            });
         },
         setClassid(cid) {
             this.classid = cid
@@ -574,7 +541,7 @@ export default {
             this.groupJson2 = JSON.parse(JSON.stringify(this.groupJson));
             if (!this.groupJson2.group.length) {
                 this.groupJson2.group.push({
-                    name: "第" + (this.groupJson2.group.length + 1) + "组",
+                    name: "Group" + (this.groupJson2.group.length + 1),
                     id: this.guid()
                 });
             }
@@ -584,10 +551,10 @@ export default {
             this.$confirm(
                 // "您确定要删除该分组吗? 分组删除后将被清空并且无法恢复。",
                 "是否确定删除已有分组?删除后分组数据将被清空!",
-                "提示",
+                "Notification",
                 {
-                    confirmButtonText: "确定",
-                    cancelButtonText: "取消",
+                    confirmButtonText: "Save",
+                    cancelButtonText: "Cancel",
                     type: "warning",
                 }
             )
@@ -617,7 +584,7 @@ export default {
         },
         addGroup() {
             this.groupJson2.group.push({
-                name: "第" + (this.groupJson2.group.length + 1) + "组",
+                name: "Group" + (this.groupJson2.group.length + 1),
                 id: this.guid()
             });
         },
@@ -658,12 +625,12 @@ export default {
         updateGroupJson(type) {
             for (var i = 0; i < this.groupJson2.group.length; i++) {
                 if (!this.groupJson2.group[i].name) {
-                    this.$message.error("请将信息填写完整!");
+                    this.$message.error("Please fill in all the blanks.");
                     return;
                 }
             }
             if (!this.groupJson2.number) {
-                this.$message.error("请将信息填写完整!");
+                this.$message.error("Please fill in all the blanks.");
                 return;
             }
             for (var i = 0; i < this.groupJson2.group.length; i++) {
@@ -678,7 +645,7 @@ export default {
             let params = [
                 {
                     cid: this.cid,
-                    group: JSON.stringify(this.groupJson2),
+                    group: JSON.stringify(this.groupJson2).replaceAll(/%/g, "%25"),
                     classid: this.classid,
                 },
             ];
@@ -946,37 +913,33 @@ export default {
     },
     mounted() {
         if (this.classList.length) {
-            if (this.type == 2) {
-                this.classList = this.classList.filter(el => {
-                    return this.classId.indexOf(el.id) != -1
-                })
-                this.classid = this.classList[0].id
+                if (this.type == 2) {
+                    this.classList = this.classList.filter(el => {
+                        return this.classId.indexOf(el.id) != -1
+                    })
+                    this.classid = this.classList[0].id
+                } else {
+                    this.classid = this.classList[0].id
+                }
             } else {
-                this.classid = this.classList[0].id
+                this.classid = '1'
             }
-        } else {
-            this.classid = '1'
-        }
-        this.setClassid(this.classid)
-        this.getCourseGroup();
-        // if (this.dialogVisibleGroup) {
-        //     this.getCourseGroup();
-        this.timer = setInterval(() => {
+            this.setClassid(this.classid)
             this.getCourseGroup();
-        }, 5000)
-        // } else {
-        //     clearInterval(this.timer)
-        //     this.timer = null
-        // }
+            // if (this.dialogVisibleGroup) {
+            //     this.getCourseGroup();
+                this.timer = setInterval(() => {
+                    this.getCourseGroup();
+                }, 5000)
+            // } else {
+            //     clearInterval(this.timer)
+            //     this.timer = null
+            // }
     }
 }
 </script>
 
 <style scoped>
-.batch_add_group {
-    margin-top: 15px;
-}
-
 .dialog_diy>>>.el-dialog {
     margin-top: 10vh !important;
 }
@@ -1352,13 +1315,12 @@ export default {
     height: 30px;
     line-height: 30px;
     padding: 0 5px;
-    /* overflow: hidden; */
+    overflow: hidden;
     background: rgb(225, 237, 255);
     margin: 10px calc((100% - (80px*5)) / 4) 0 0;
     color: rgb(37 124 255);
     border-radius: 5px;
     box-sizing: border-box;
-    position: relative;
 }
 
 .i_box_login2>div:nth-child(5n) {
@@ -1388,19 +1350,4 @@ export default {
 .group_switch>span {
     margin-right: 5px;
 }
-
-.grouplBox{
-    position: absolute;
-    top: -5px;
-    right: -5px;
-    background: rgb(225, 237, 255);
-    border: 1px solid #3281f7;
-    border-radius: 50%;
-    height: 15px;
-    width: 15px;
-    text-align: center;
-    line-height: 15px;
-    font-size: 12px;
-    color: rgb(37 124 255);
-}
 </style>

Някои файлове не бяха показани, защото твърде много файлове са промени