Browse Source

学生管理

11wqe1 1 month ago
parent
commit
a3d7da0bce

+ 127 - 136
src/components/pages/studentManage/class.vue

@@ -15,11 +15,11 @@
               )
             ">
           <span class="icon gradeI"></span>
-          <span class="name">年级管理</span>
+          <span class="name">{{lang.GradeManagement}}</span>
         </div>
         <div class="nav active">
           <span class="icon classI"></span>
-          <span class="name">班级管理</span>
+          <span class="name">{{lang.ClassManagement}}</span>
         </div>
         <div class="nav" @click="
               goTo(
@@ -34,7 +34,7 @@
               )
             ">
           <span class="icon studentI"></span>
-          <span class="name">学生管理</span>
+          <span class="name">{{lang.StudentManagement}}</span>
         </div>
       </div>
       <div class="sm_right">
@@ -46,19 +46,19 @@
       ">
           <div class="pb_head top">
             <div style="display: flex; align-items: center">
-              <span>班级管理</span>
+              <span>{{lang.ClassManagement}}</span>
             </div>
             <div style="border-radius: 4px">
-              <el-button type="primary" class="bgColor student_button" @click="dialogVisible = true">添加班级</el-button>
+              <el-button type="primary" class="bgColor student_button" @click="dialogVisible = true">{{lang.AddClass}}</el-button>
             </div>
           </div>
           <div class="student_head">
             <div class="student_search">
               <span>
-                <el-input placeholder="请输入班级名称" v-model="sClassName" clearable class="student_input">
+                <el-input :placeholder="lang.EnterClassName" v-model="sClassName" clearable class="student_input">
                 </el-input>
               </span>
-              <el-button type="primary" @click="searchClass" class="student_button">查询</el-button>
+              <el-button type="primary" @click="searchClass" class="student_button">{{lang.Search}}</el-button>
             </div>
           </div>
         </div>
@@ -67,22 +67,22 @@
             <el-table v-if="ctype == 1" ref="table" :key="1" :data="tableData" border :height="tableHeight" :fit="true"
               v-loading="isLoading" style="width: 100%; height: 60%" :header-cell-style="{ background: '#f1f1f1' }"
               :row-class-name="tableRowClassName">
-              <el-table-column prop="name" label="班级名称" align="center">
+              <el-table-column prop="name" :label="lang.ClassName" align="center">
               </el-table-column>
-              <el-table-column label="所属年级" align="center">
+              <el-table-column :label="lang.Grade" align="center">
                 <template slot-scope="{ row }">
                   {{ getGrade(row.pid) }}
                 </template>
               </el-table-column>
-              <el-table-column prop="pnum" label="人数" align="center">
+              <el-table-column prop="pnum" :label="lang.NumberofStudents" align="center">
               </el-table-column>
-              <el-table-column label="操作" width="600px">
+              <el-table-column :label="lang.Operate" width="600px">
                 <template slot-scope="scope">
                   <div class="classButtonBox">
-                    <el-button type="primary" size="small" @click="getStudent(scope.row.id)">查看学生</el-button>
-                    <el-button type="primary" size="small" @click="updateG(scope.row.pid, scope.row.id)">修改年级</el-button>
+                    <el-button type="primary" size="small" @click="getStudent(scope.row.id)">{{lang.ViewStudents}}</el-button>
+                    <el-button type="primary" size="small" @click="updateG(scope.row.pid, scope.row.id)">{{lang.EditGrade}}</el-button>
                     <el-button type="primary" size="small"
-                      @click="openUpdate(scope.row.id, scope.row.name)">修改名称</el-button>
+                      @click="openUpdate(scope.row.id, scope.row.name)">{{lang.EditName}}</el-button>
                     <el-button class="de_button" type="primary" size="small" v-show="false" @click="
                       goTo(
                         '/studentEva?userid=' +
@@ -98,8 +98,8 @@
                         '&fathType=' +
                         '0'
                       )
-                      ">查看评价</el-button>
-                    <el-button type="primary" size="small" @click="deleteClass(scope.row.id)">删除</el-button>
+                      ">{{lang.Viewreviews}}</el-button>
+                    <el-button type="primary" size="small" @click="deleteClass(scope.row.id)">{{lang.Delete}}</el-button>
                   </div>
                 </template>
               </el-table-column>
@@ -118,23 +118,23 @@
         border-radius: 5px;
       ">
           <div class="pb_head top">
-            <span>查看学生</span>
+            <span>{{lang.ViewStudents}}</span>
             <div style="border-radius: 4px">
-              <el-button type="primary" class="bgColor student_button" @click="(ctype = 1), getClass()">返回</el-button>
+              <el-button type="primary" class="bgColor student_button" @click="(ctype = 1), getClass()">{{lang.return}}</el-button>
             </div>
           </div>
           <div class="student_head">
             <div class="head_left">
-              <el-input v-model="sPhoneUser" class="student_input" placeholder="请输入用户名"></el-input>
-              <el-select disabled v-model="cid" placeholder="请选择班级" class="student_input" @change="searchStudent">
-                <el-option label="所有人" value=""></el-option>
+              <el-input v-model="sPhoneUser" class="student_input" :placeholder="lang.Enterusername"></el-input>
+              <el-select disabled v-model="cid" :placeholder="lang.SelectClass" class="student_input" @change="searchStudent">
+                <el-option :label="lang.AllPeople" value=""></el-option>
                 <el-option v-for="(item, index) in classJuri" :key="index" :label="item.name"
                   :value="item.id"></el-option>
               </el-select>
-              <el-button type="primary" class="student_button" @click="searchStudent">查询</el-button>
+              <el-button type="primary" class="student_button" @click="searchStudent">{{lang.Search}}</el-button>
             </div>
             <div class="head_right">
-              <el-button @click="addStudent" class="student_button">添加学生</el-button>
+              <el-button @click="addStudent" class="student_button">{{lang.AddStudent}}</el-button>
             </div>
           </div>
         </div>
@@ -143,7 +143,7 @@
             <el-table v-if="ctype == 2" :key="2" ref="table2" :data="tableData2" border :height="tableHeight" :fit="true"
               v-loading="isLoading" style="width: 100%" :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
               :row-class-name="tableRowClassName">
-              <el-table-column label="姓名" min-width="10" align="center">
+              <el-table-column :label="lang.Name" min-width="10" align="center">
                 <template slot-scope="scope">
                   <div class="userImg">
                     <div class="tx">
@@ -164,22 +164,22 @@
                   </div>
                 </template>
               </el-table-column>
-              <el-table-column label="学生账号" min-width="15" align="center">
+              <el-table-column :label="lang.StudentAccount" min-width="15" align="center">
                 <template slot-scope="scope">
                   <div>{{ scope.row.un ? scope.row.un : "" }}</div>
                 </template>
               </el-table-column>
-              <el-table-column prop="classname2" label="班级" min-width="15" align="center">
+              <el-table-column prop="classname2" :label="lang.Class" min-width="15" align="center">
               </el-table-column>
-              <el-table-column label="操作" width="250px">
+              <el-table-column :label="lang.Action" width="250px">
                 <template slot-scope="scope">
                   <div class="btnBox">
                     <el-button class="de_button" type="primary" size="small"
-                      @click="iniPassword(scope.row.userid)">初始化密码</el-button>
+                      @click="iniPassword(scope.row.userid)">{{lang.InitialPassword}}</el-button>
                     <el-button class="de_button" type="primary" size="small"
-                      @click="updateStudentA(scope.row)">修改</el-button>
+                      @click="updateStudentA(scope.row)">{{lang.Edit}}</el-button>
                     <el-button class="de_button" type="primary" size="small"
-                      @click="deleteClassStudent(scope.row.userid)">移除</el-button>
+                      @click="deleteClassStudent(scope.row.userid)">{{lang.Remove}}</el-button>
                     <!-- <div class="delete">
                   <img src="../../../assets/remove.png" alt @click="deleteStudent(scope.row.userid, scope.row.state)" />
                 </div> -->
@@ -201,42 +201,43 @@
         <div class="logoImg">
           <img src="../../../assets/logo.png" alt />
         </div>
-        <div class="title_add_student">添加学生</div>
+        <div class="title_add_student">{{lang.AddStudent}}</div>
       </div>
       <el-form>
-        <el-form-item label="学生姓名" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentName" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生姓名" clearable v-model="sName" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuname" clearable v-model="sName" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生学号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentNumber" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生学号" clearable v-model="sId" class="add_input"></el-input>
+            <el-input :placeholder="lang.EnterStudentNumber" clearable v-model="sId" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生手机号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentPhoneNumber" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生手机号" clearable v-model="sPhone" class="add_input"></el-input>
+            <el-input :placeholder="lang.EnterStudentPhoneNumber" clearable v-model="sPhone" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生账号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentAccount" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生账号" clearable v-model="sMail" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuacc" clearable v-model="sMail" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="所属学校" :label-width="formLabelWidth">
+        <el-form-item :label="lang.AffiliatedSchool" :label-width="formLabelWidth">
           <el-input disabled style="width: 300px" v-model="schoolName"></el-input>
         </el-form-item>
-        <el-form-item label="班级" :label-width="formLabelWidth">
-          <el-select v-model="cid" placeholder="请选择班级" disabled>
+        <el-form-item :label="lang.Class" :label-width="formLabelWidth">
+          <el-select v-model="cid" :placeholder="lang.SelectClass" disabled>
             <el-option v-for="(item, index) in classJuri" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <div style="text-align: center; color: #adb3b7">
+          {{lang.NoteTdpfnsai}}
         </div>
       </el-form>
       <span slot="footer" class="dialog-footer flex">
-        <el-button class="right" @click="insertStudent">确认</el-button>
+        <el-button class="right" @click="insertStudent">{{lang.confirm}}</el-button>
       </span>
     </el-dialog>
     <el-dialog :visible.sync="dialogVisibleUpdate" :append-to-body="true" width="700px" :before-close="handleClose"
@@ -245,109 +246,110 @@
         <div class="logoImg">
           <img src="../../../assets/logo.png" alt />
         </div>
-        <div class="title_add_student">修改学生</div>
+        <div class="title_add_student">{{lang.EditStudent}}</div>
       </div>
       <el-form>
-        <el-form-item label="学生名称" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentName" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生姓名" clearable v-model="userinfo.name" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuname" clearable v-model="userinfo.name" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生学号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentNumber" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生学号" clearable v-model="userinfo.studentid" class="add_input"></el-input>
+            <el-input :placeholder="lang.EnterStudentNumber" clearable v-model="userinfo.studentid" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生手机号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentPhoneNumber" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生手机号" clearable v-model="userinfo.phonenumber" class="add_input"></el-input>
+            <el-input :placeholder="lang.EnterStudentPhoneNumber" clearable v-model="userinfo.phonenumber" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生账号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentAccount" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生账号" clearable v-model="userinfo.un" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuacc" clearable v-model="userinfo.un" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="所属学校" :label-width="formLabelWidth">
+        <el-form-item :label="lang.AffiliatedSchool" :label-width="formLabelWidth">
           <el-input disabled style="width: 300px" v-model="schoolName"></el-input>
         </el-form-item>
-        <el-form-item label="班级" :label-width="formLabelWidth">
-          <el-select multiple collapse-tags v-model="userinfo.classid" placeholder="请选择班级">
+        <el-form-item :label="lang.Class" :label-width="formLabelWidth">
+          <el-select multiple collapse-tags v-model="userinfo.classid" :placeholder="lang.SelectClass">
             <el-option v-for="(item, index) in classJuri" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <div style="text-align: center; color: #adb3b7">
+          {{lang.NoteTdpfnsai}}
         </div>
       </el-form>
       <span slot="footer" class="dialog-footer flex">
-        <el-button class="right" @click="updateStudent">修改</el-button>
+        <el-button class="right" @click="updateStudent">{{lang.Edit}}</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="添加班级" :visible.sync="dialogVisible" :append-to-body="true" width="25%" :before-close="handleClose"
+    <el-dialog :title="lang.AddClass" :visible.sync="dialogVisible" :append-to-body="true" width="25%" :before-close="handleClose"
       class="dialog_diy">
       <el-form>
-        <el-form-item label="班级名称" :label-width="formLabelWidth">
-          <el-input v-model="className" auto-complete="off" placeholder="请输入班级..."></el-input>
+        <el-form-item :label="lang.ClassName" :label-width="formLabelWidth">
+          <el-input v-model="className" auto-complete="off" :placeholder="lang.Enterclass"></el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="insertClass">确 定</el-button>
+        <el-button @click="dialogVisible = false">{{lang.Cancel}}</el-button>
+        <el-button type="primary" @click="insertClass">{{lang.Confirm}}</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="修改年级" :visible.sync="dialogVisibleGrade" :append-to-body="true" width="25%"
+    <el-dialog :title="lang.EditGrade" :visible.sync="dialogVisibleGrade" :append-to-body="true" width="25%"
       :before-close="handleClose" class="dialog_diy">
       <el-form>
-        <el-form-item label="选择年级" :label-width="formLabelWidth">
-          <el-select v-model="gid" placeholder="请选择班级" class="student_input" clearable>
+        <el-form-item :label="lang.SelectGrade" :label-width="formLabelWidth">
+          <el-select v-model="gid" :placeholder="lang.SelectClass" class="student_input" clearable>
             <el-option v-for="(item, index) in grade" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleGrade = false">取 消</el-button>
-        <el-button type="primary" @click="updateGrade">确 定</el-button>
+        <el-button @click="dialogVisibleGrade = false">{{lang.Cancel}}</el-button>
+        <el-button type="primary" @click="updateGrade">{{lang.Confirm}}</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="修改班级" :visible.sync="dialogVisible1" :append-to-body="true" width="25%" :before-close="handleClose"
+    <el-dialog :title="lang.EditClass" :visible.sync="dialogVisible1" :append-to-body="true" width="25%" :before-close="handleClose"
       class="dialog_diy">
       <el-form>
-        <el-form-item label="班级名称" :label-width="formLabelWidth">
-          <el-input v-model="className1" auto-complete="off" placeholder="请输入班级..."></el-input>
+        <el-form-item :label="lang.ClassName" :label-width="formLabelWidth">
+          <el-input v-model="className1" auto-complete="off" :placeholder="lang.Enterclass"></el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible1 = false">取 消</el-button>
-        <el-button type="primary" @click="updateClass">确 定</el-button>
+        <el-button @click="dialogVisible1 = false">{{lang.Cancel}}</el-button>
+        <el-button type="primary" @click="updateClass">{{lang.Confirm}}</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="添加学生" :visible.sync="dialogVisibleMember" :append-to-body="true" width="500px" height="80%"
+    <el-dialog :title="lang.AddStudent" :visible.sync="dialogVisibleMember" :append-to-body="true" width="500px" height="80%"
       :before-close="handleClose" class="addNewPP">
       <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="getClassStudent"></el-input>
+              <el-input :placeholder="lang.Searchstudentname" v-model="searchTN" @keyup.enter.native="getClassStudent"></el-input>
               <div class="search_img" @click="getClassStudent">
                 <img src="../../../assets/icon/search.png" alt />
               </div>
             </div>
           </div>
-          <div class="people_nav">选择成员</div>
+          <div class="people_nav">{{lang.SelectMembers}}</div>
         </div>
         <div class="t_j_box" style="
             padding: 20px 0 0 25px;
             width: calc(100% - 55px);
             margin-left: 25px;
           ">
-          <span>姓名</span>
-          <span>账号</span>
+          <span>{{lang.Name}}</span>
+          <span>{{lang.Account}}</span>
         </div>
         <el-checkbox-group v-model="checkboxList3" class="people_name" v-if="teacherJuri.length" v-loading="isLoading2">
           <el-checkbox v-for="item in teacherJuri" :key="item.userid" :label="item.userid">
             <div class="t_j_box">
-              <el-tooltip placement="top" :content="item.name ? item.name : '暂无姓名'">
-                <span>{{ item.name ? item.name : "暂无姓名" }}</span>
+              <el-tooltip placement="top" :content="item.name ? item.name : lang.Noname">
+                <span>{{ item.name ? item.name : lang.Noname }}</span>
               </el-tooltip>
               <el-tooltip placement="top" :content="item.username">
                 <span>{{ item.username }}</span>
@@ -355,7 +357,7 @@
             </div>
           </el-checkbox>
         </el-checkbox-group>
-        <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
+        <div style="text-align: center; margin-top: 10px" v-else>{{lang.Norecordsfound}}</div>
       </div>
       <div style="margin-top: 10px">
         <el-pagination background layout="prev, pager, next" :page-size="pageSize3" :total="total3"
@@ -363,22 +365,22 @@
           @current-change="handleCurrentChange3"></el-pagination>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleMember = false">取 消</el-button>
-        <el-button type="primary" @click="addClassStudent">确定</el-button>
+        <el-button @click="dialogVisibleMember = false">{{lang.Cancel}}</el-button>
+        <el-button type="primary" @click="addClassStudent">{{lang.Confirm}}</el-button>
       </span>
     </el-dialog>
   </div>
 </template>
 
 <script>
-import TaskListHeader from "gantt-elastic/src/components/TaskList/TaskListHeader.vue";
+// import TaskListHeader from "gantt-elastic/src/components/TaskList/TaskListHeader.vue";
 
 export default {
   data() {
     return {
       tableHeight: "500px",
       isLoading: false,
-      formLabelWidth: "100px",
+      formLabelWidth: "155px",
       sClassName: "",
       className: "",
       className1: "",
@@ -439,7 +441,7 @@ export default {
             name = element.name;
           }
         });
-        return name ? name : "暂无";
+        return name ? name : this.lang.None;
       };
     },
   },
@@ -517,9 +519,9 @@ export default {
       this.dialogVisibleGrade = true;
     },
     updateGrade() {
-      this.$confirm("确定修改吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.lang.makechanges, this.lang.tip, {
+        confirmButtonText: this.lang.Confirm,
+        cancelButtonText: this.lang.Cancel,
         type: "warning",
       })
         .then(() => {
@@ -560,12 +562,12 @@ export default {
         .then((res) => {
           if (res.data[0] && res.data[0][0].classname == 1) {
             this.$message({
-              message: "不能与其他班级名称相同!",
+              message: this.lang.Cannotsameothercla,
               type: "error",
             });
           } else {
             this.$message({
-              message: "新增成功",
+              message: this.lang.AddSuccessful,
               type: "success",
             });
             this.dialogVisible = false;
@@ -576,7 +578,7 @@ export default {
         })
         .catch((err) => {
           this.$message({
-            message: "新增失败",
+            message: this.lang.Additionfailed,
             type: "error",
           });
           console.error(err);
@@ -594,12 +596,12 @@ export default {
         .then((res) => {
           if (res.data[0] && res.data[0][0].classname == 1) {
             this.$message({
-              message: "不能与其他班级名称相同!",
+              message: this.lang.Cannotsameothercla,
               type: "error",
             });
           } else {
             this.$message({
-              message: "修改成功",
+              message: this.lang.Editsuccessful,
               type: "success",
             });
             this.dialogVisible1 = false;
@@ -610,7 +612,7 @@ export default {
         })
         .catch((err) => {
           this.$message({
-            message: "修改失败",
+            message: this.lang.Modificationfailed,
             type: "error",
           });
           console.error(err);
@@ -644,9 +646,9 @@ export default {
         id: id,
       };
       if (this.time()) {
-        this.$confirm("确定删除此班级吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
+        this.$confirm(this.lang.Aystdtc, this.lang.tip, {
+          confirmButtonText: this.lang.Confirm,
+          cancelButtonText: this.lang.Cancel,
           type: "warning",
         })
           .then(() => {
@@ -654,7 +656,7 @@ export default {
               .get(this.$store.state.api + "deleteClass", params)
               .then((res) => {
                 this.$message({
-                  message: "删除成功",
+                  message: this.lang.Successfullydelete,
                   type: "success",
                 });
                 if (this.page != 1 && this.tableData.length == 1) {
@@ -663,7 +665,7 @@ export default {
                 this.getClass();
               })
               .catch((err) => {
-                this.$message.error("删除失败");
+                this.$message.error(this.lang.Deletefailed);
                 console.error(err);
               });
           })
@@ -681,18 +683,18 @@ export default {
     //新增学生
     insertStudent() {
       if (this.sName === "") {
-        this.$message.error("学生姓名不能为空");
+        this.$message.error(this.lang.Stucannotempty);
         return;
       } else if (
         this.sPhone != "" &&
         !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.sPhone)
       ) {
-        this.$message.error("手机号格式不正确");
+        this.$message.error(this.lang.phonenumberincorrect);
         return;
       } else if (
         !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(this.sMail)
       ) {
-        this.$message.error("邮箱格式不正确");
+        this.$message.error(this.lang.Emailformatincorrect);
         return;
       }
 
@@ -702,7 +704,7 @@ export default {
           .get(this.$store.state.api + "findMail", params)
           .then((res) => {
             if (res.data[0].length > 0) {
-              this.$message.error("此学生账号已被注册");
+              this.$message.error(this.lang.accalreadyregistered);
             } else {
               this.add_Student();
             }
@@ -716,7 +718,7 @@ export default {
       let params = [
         {
           username: this.sMail,
-          password: '',
+          userpassword: 'Coco1234',
           alias: this.sName,
           oid: this.oid,
           ph: this.sPhone,
@@ -749,7 +751,7 @@ export default {
               console.error(err);
             });
           this.$message({
-            message: "新增成功",
+            message: this.lang.AddSuccessful,
             type: "success",
           });
           this.dialogVisibleAddStudent = false;
@@ -762,7 +764,7 @@ export default {
         .catch((err) => {
           this.isLoading = false;
           this.$message({
-            message: "新增失败",
+            message: this.lang.Additionfailed,
             type: "error",
           });
           console.error(err);
@@ -776,23 +778,23 @@ export default {
     },
     updateStudent() {
       if (this.userinfo.name === "") {
-        this.$message.error("学生姓名不能为空");
+        this.$message.error(this.lang.Stucannotempty);
         return;
       } else if (!this.userinfo.classid) {
-        this.$message.error("请为学生选择班级");
+        this.$message.error(this.lang.chooseclastudents);
         return;
       } else if (
         this.userinfo.phonenumber &&
         !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.userinfo.phonenumber)
       ) {
-        this.$message.error("手机号格式不正确");
+        this.$message.error(this.lang.phonenumberincorrect);
         return;
       } else if (
         !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(
           this.userinfo.un
         )
       ) {
-        this.$message.error("邮箱格式不正确");
+        this.$message.error(this.lang.Emailformatincorrect);
         return;
       }
 
@@ -803,7 +805,7 @@ export default {
             .get(this.$store.state.api + "findMail", params)
             .then((res) => {
               if (res.data[0].length > 0) {
-                this.$message.error("此学生账号已被注册");
+                this.$message.error(this.lang.accalreadyregistered);
               } else {
                 this.update_Student();
               }
@@ -831,7 +833,7 @@ export default {
         .post(this.$store.state.api + "updateStudentInfo", params)
         .then((res) => {
           this.$message({
-            message: "修改成功",
+            message: this.lang.Editsuccessful,
             type: "success",
           });
           this.dialogVisibleUpdate = false;
@@ -840,7 +842,7 @@ export default {
         .catch((err) => {
           this.isLoading = false;
           this.$message({
-            message: "修改失败",
+            message: this.lang.Modificationfailed,
             type: "error",
           });
           console.error(err);
@@ -848,9 +850,9 @@ export default {
     },
     deleteClassStudent(id) {
       let params = [{ uid: id, cid: this.cid }];
-      this.$confirm("确定移除此学生在本班级吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.lang.removestu, this.lang.tip, {
+        confirmButtonText: this.lang.Confirm,
+        cancelButtonText: this.lang.Cancel,
         type: "warning",
       })
         .then(() => {
@@ -858,13 +860,13 @@ export default {
             .post(this.$store.state.api + "deleteClassStudent", params)
             .then((res) => {
               this.$message({
-                message: "操作成功",
+                message: this.lang.OperateSuccessful,
                 type: "success",
               });
               this.getStudent(this.cid);
             })
             .catch((err) => {
-              this.$message.error("操作失败");
+              this.$message.error(this.lang.operationfailed);
               console.error(err);
             });
         })
@@ -956,7 +958,7 @@ export default {
     },
     addClassStudent() {
       if (!this.checkboxList3.length) {
-        this.$message.error("请选择要添加班级的学生");
+        this.$message.error(this.lang.selectstuaddcla);
         return;
       }
       let params = [
@@ -977,23 +979,23 @@ export default {
         });
     },
     iniPassword(id) {
-      this.$confirm("确定" + "初始化" + "此学生的密码吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.lang.Aystrtp, this.lang.tip, {
+        confirmButtonText: this.lang.Confirm,
+        cancelButtonText: this.lang.Cancel,
         type: "warning",
       })
         .then(() => {
           let params = [
             {
               uid: id,
-              pa: '',
+              pa: 'Coco1234',
             },
           ];
           this.ajax
             .post(this.$store.state.api + "iniPassword", params)
             .then((res) => {
               this.$message({
-                message: "初始化密码成功!",
+                message: this.lang.Resetsuccessful,
                 type: "success",
               });
             })
@@ -1069,18 +1071,7 @@ export default {
   align-items: center;
 }
 
-.student_search span {
-  /* margin: 0 10px 0 0; */
-}
-
-.student_button {
-  /* display: flex; */
-  /* height: 40px; */
-}
 
-.student_button .el-button--primary {
-  /* margin-right: 10px; */
-}
 
 .upload-demo {
   display: flex;
@@ -1385,9 +1376,9 @@ export default {
 .student_button {
   color: #fff;
   background: #2268bc;
-  width: 60px;
+  /* width: 60px; */
   height: 30px;
-  padding: 0 !important;
+  padding: 0 10px !important;
   font-size: 12px;
   line-height: 30px;
 }

+ 104 - 102
src/components/pages/studentManage/grade/index.vue

@@ -4,7 +4,7 @@
       <div class="sm_left">
         <div class="nav active">
           <span class="icon gradeI"></span>
-          <span class="name">年级管理</span>
+          <span class="name">{{ lang.GradeManagement }}</span>
         </div>
         <div class="nav" @click="
               goTo(
@@ -19,7 +19,7 @@
               )
             ">
           <span class="icon classI"></span>
-          <span class="name">班级管理</span>
+          <span class="name">{{ lang.ClassManagement }}</span>
         </div>
         <div class="nav" @click="
               goTo(
@@ -34,7 +34,7 @@
               )
             ">
           <span class="icon studentI"></span>
-          <span class="name">学生管理</span>
+          <span class="name">{{lang.StudentManagement}}</span>
         </div>
       </div>
       <div class="sm_right">
@@ -49,19 +49,19 @@
             display: flex;
             align-items: center;
         ">
-              <span>年级管理</span>
+              <span>{{ lang.GradeManagement }}</span>
             </div>
             <div style="border-radius: 4px">
-              <el-button type="primary" class="bgColor student_button" @click="dialogVisible = true">添加年级</el-button>
+              <el-button type="primary" class="bgColor student_button" @click="dialogVisible = true">{{ lang.AddGrade }}</el-button>
             </div>
           </div>
           <div class="student_head">
             <div class="student_search">
               <span>
-                <el-input class="student_input" placeholder="请输入年级名称" v-model="sClassName" clearable>
+                <el-input class="student_input" :placeholder="lang.EnterGradeName" v-model="sClassName" clearable>
                 </el-input>
               </span>
-              <el-button class="student_button" type="primary" @click="searchClass">查询</el-button>
+              <el-button class="student_button" type="primary" @click="searchClass">{{ lang.Search }}</el-button>
             </div>
           </div>
         </div>
@@ -70,15 +70,15 @@
             <el-table v-if="ctype == 1" ref="table" :key="1" :data="tableData" border :height="tableHeight" :fit="true"
               v-loading="isLoading" style="width: 100%; height: 60%" :header-cell-style="{ background: '#f1f1f1' }"
               :row-class-name="tableRowClassName">
-              <el-table-column prop="name" label="年级名称" min-width="40%" align="center">
+              <el-table-column prop="name" :label="lang.GradeName" min-width="40%" align="center">
               </el-table-column>
-              <el-table-column prop="pnum" label="班级数" min-width="40%" align="center">
+              <el-table-column prop="pnum" :label="lang.NumberofClasses" min-width="40%" align="center">
               </el-table-column>
-              <el-table-column label="操作" width="250px">
+              <el-table-column :label="lang.Action" width="350px">
                 <template slot-scope="scope">
-                  <el-button type="primary" size="small" @click="getStudent(scope.row.id)">查看班级</el-button>
-                  <el-button type="primary" size="small" @click="openUpdate(scope.row.id, scope.row.name)">修改</el-button>
-                  <el-button type="primary" size="small" @click="deleteGrade(scope.row.id)">删除</el-button>
+                  <el-button type="primary" size="small" @click="getStudent(scope.row.id)">{{lang.ViewClasses}}</el-button>
+                  <el-button type="primary" size="small" @click="openUpdate(scope.row.id, scope.row.name)">{{lang.Edit}}</el-button>
+                  <el-button type="primary" size="small" @click="deleteGrade(scope.row.id)">{{lang.Delete}}</el-button>
                 </template>
               </el-table-column>
             </el-table>
@@ -96,20 +96,20 @@
         border-radius: 5px;
       ">
           <div class="pb_head top">
-            <span>查看班级-{{ getGrade(cid) }} </span>
+            <span>{{lang.ViewClasses}}-{{ getGrade(cid) }} </span>
             <div class="student_button" style="border-radius: 4px">
-              <el-button type="primary" class="bgColor student_button" @click="(ctype = 1), getClass()">返回</el-button>
+              <el-button type="primary" class="bgColor student_button" @click="(ctype = 1), getClass()">{{lang.Back}}</el-button>
             </div>
           </div>
           <div class="student_head">
             <div class="student_search">
               <span>
-                <el-input class="student_input" v-model="sPhoneUser" placeholder="请输入班级"></el-input>
+                <el-input class="student_input" v-model="sPhoneUser" :placeholder="lang.Enterclass"></el-input>
               </span>
-              <el-button class="student_button" @click="searchStudent">查询</el-button>
+              <el-button class="student_button" @click="searchStudent">{{lang.Search}}</el-button>
             </div>
             <div>
-              <el-button @click="addStudent" class="student_button">添加班级</el-button>
+              <el-button @click="addStudent" class="student_button">{{lang.AddClass}}</el-button>
             </div>
           </div>
         </div>
@@ -118,20 +118,20 @@
             <el-table v-if="ctype == 2" :key="2" ref="table2" :data="tableData2" border :height="tableHeight" :fit="true"
               v-loading="isLoading" style="width: 100%" :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
               :row-class-name="tableRowClassName">
-              <el-table-column label="班级" min-width="10" align="center">
+              <el-table-column :label="lang.Classes" min-width="10" align="center">
                 <template slot-scope="scope">
                   <div>
                     {{ scope.row.name }}
                   </div>
                 </template>
               </el-table-column>
-              <el-table-column prop="pnum" label="学生数" min-width="15" align="center">
+              <el-table-column prop="pnum" :label="lang.numberstu" min-width="15" align="center">
               </el-table-column>
-              <el-table-column label="操作" width="250px">
+              <el-table-column :label="lang.Operate" width="250px">
                 <template slot-scope="scope">
                   <div class="btnBox">
                     <el-button class="de_button" type="primary" size="small"
-                      @click="deleteClassStudent(scope.row.id)">移除</el-button>
+                      @click="deleteClassStudent(scope.row.id)">{{lang.Remove}}</el-button>
                     <!-- <div class="delete">
                     <img src="../../../../assets/remove.png" alt @click="deleteStudent(scope.row.userid, scope.row.state)" />
                   </div> -->
@@ -153,42 +153,43 @@
         <div class="logoImg">
           <img src="../../../../assets/logo.png" alt />
         </div>
-        <div class="title_add_student">添加学生</div>
+        <div class="title_add_student">{{ lang.AddStudents }}</div>
       </div>
       <el-form>
-        <el-form-item label="学生姓名" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentName" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生姓名" clearable v-model="sName" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuname" clearable v-model="sName" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生学号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentNumber" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生学号" clearable v-model="sId" class="add_input"></el-input>
+            <el-input :placeholder="lang.EnterStudentNumber" clearable v-model="sId" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生手机号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentPhoneNumber" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生手机号" clearable v-model="sPhone" class="add_input"></el-input>
+            <el-input :placeholder="lang.EnterStudentPhoneNumber" clearable v-model="sPhone" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生账号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentAccount" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生账号" clearable v-model="sMail" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuacc" clearable v-model="sMail" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="所属学校" :label-width="formLabelWidth">
+        <el-form-item :label="lang.AffiliatedSchool" :label-width="formLabelWidth">
           <el-input disabled style="width: 300px" v-model="schoolName"></el-input>
         </el-form-item>
-        <el-form-item label="班级" :label-width="formLabelWidth">
-          <el-select v-model="cid" placeholder="请选择班级" disabled>
+        <el-form-item :label="lang.Classes" :label-width="formLabelWidth">
+          <el-select v-model="cid" :placeholder="lang.SelectClass" disabled>
             <el-option v-for="(item, index) in classJuri" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <div style="text-align: center; color: #adb3b7">
+         {{lang.NoteTdpfnsai}}
         </div>
       </el-form>
       <span slot="footer" class="dialog-footer flex">
-        <el-button class="right" @click="insertStudent">确认</el-button>
+        <el-button class="right" @click="insertStudent">{{lang.confirm}}</el-button>
       </span>
     </el-dialog>
     <el-dialog :visible.sync="dialogVisibleUpdate" :append-to-body="true" width="700px" :before-close="handleClose"
@@ -197,81 +198,82 @@
         <div class="logoImg">
           <img src="../../../../assets/logo.png" alt />
         </div>
-        <div class="title_add_student">修改学生</div>
+        <div class="title_add_student">{{lang.EditStudent}}</div>
       </div>
       <el-form>
-        <el-form-item label="学生名称" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentName" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生姓名" clearable v-model="userinfo.name" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuname" clearable v-model="userinfo.name" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生学号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentNumber" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生学号" clearable v-model="userinfo.studentid" class="add_input"></el-input>
+            <el-input :placeholder="lang.EnterStudentNumber" clearable v-model="userinfo.studentid" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生手机号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentPhoneNumber" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生手机号" clearable v-model="userinfo.phonenumber" class="add_input"></el-input>
+            <el-input :placeholder="lang.EnterStudentPhoneNumber" clearable v-model="userinfo.phonenumber" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生账号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentAccount" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生账号" clearable v-model="userinfo.un" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuacc" clearable v-model="userinfo.un" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="所属学校" :label-width="formLabelWidth">
+        <el-form-item :label="lang.AffiliatedSchool" :label-width="formLabelWidth">
           <el-input disabled style="width: 300px" v-model="schoolName"></el-input>
         </el-form-item>
-        <el-form-item label="班级" :label-width="formLabelWidth">
-          <el-select multiple collapse-tags v-model="userinfo.classid" placeholder="请选择班级">
+        <el-form-item :label="lang.Classes" :label-width="formLabelWidth">
+          <el-select multiple collapse-tags v-model="userinfo.classid" :placeholder="lang.SelectClass">
             <el-option v-for="(item, index) in classJuri" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <div style="text-align: center; color: #adb3b7">
+         {{lang.NoteTdpfnsai}}
         </div>
       </el-form>
       <span slot="footer" class="dialog-footer flex">
-        <el-button class="right" @click="updateStudent">修改</el-button>
+        <el-button class="right" @click="updateStudent">{{lang.Modified}}</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="添加年级" :visible.sync="dialogVisible" :append-to-body="true" width="400px" :before-close="handleClose"
+    <el-dialog :title="lang.AddGrade" :visible.sync="dialogVisible" :append-to-body="true" width="400px" :before-close="handleClose"
       class="dialog_diy">
       <el-form>
-        <el-form-item label="添加年级" :label-width="formLabelWidth">
-          <el-input v-model="className" auto-complete="off" placeholder="请输入年级..."></el-input>
+        <el-form-item :label="lang.AddGrade" :label-width="formLabelWidth">
+          <el-input v-model="className" auto-complete="off" :placeholder="lang.EnterGrade"></el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="insertGrade">确 定</el-button>
+        <el-button @click="dialogVisible = false">{{lang.Cancel}}</el-button>
+        <el-button type="primary" @click="insertGrade">{{lang.Confirm}}</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="修改年级" :visible.sync="dialogVisible1" :append-to-body="true" width="25%" :before-close="handleClose"
+    <el-dialog :title="lang.EditGrade" :visible.sync="dialogVisible1" :append-to-body="true" width="25%" :before-close="handleClose"
       class="dialog_diy">
       <el-form>
-        <el-form-item label="年级名称" :label-width="formLabelWidth">
-          <el-input v-model="className1" auto-complete="off" placeholder="请输入年级..."></el-input>
+        <el-form-item :label="lang.GradeName" :label-width="formLabelWidth">
+          <el-input v-model="className1" auto-complete="off" :placeholder="lang.EnterGrade"></el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible1 = false">取 消</el-button>
-        <el-button type="primary" @click="updateGrade">确 定</el-button>
+        <el-button @click="dialogVisible1 = false">{{lang.Cancel}}</el-button>
+        <el-button type="primary" @click="updateGrade">{{lang.Confirm}}</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="选择班级" :visible.sync="dialogVisibleMember" :append-to-body="true" width="500px" height="80%"
+    <el-dialog :title="lang.SelectClasses" :visible.sync="dialogVisibleMember" :append-to-body="true" width="500px" height="80%"
       :before-close="handleClose" class="addNewPP">
       <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="handleCurrentChange3(1)"></el-input>
+              <el-input :placeholder="lang.SearchforClassName" v-model="searchTN" @keyup.enter.native="handleCurrentChange3(1)"></el-input>
               <div class="search_img" @click="handleCurrentChange3(1)">
                 <img src="../../../../assets/icon/search.png" alt />
               </div>
             </div>
           </div>
-          <div class="people_nav">选择班级</div>
+          <div class="people_nav">{{lang.SelectClasses}}</div>
         </div>
         <!-- <div
           class="t_j_box"
@@ -281,7 +283,7 @@
             margin-left: 25px;
           "
         >
-          <span>班级</span>
+          <span>lang.Classes</span>
         </div> -->
         <el-checkbox-group v-model="checkboxList3" class="people_name" v-if="teacherJuri.length" v-loading="isLoading2">
           <el-checkbox v-for="item in teacherJuri" :key="item.id" :label="item.id">
@@ -290,7 +292,7 @@
             </div>
           </el-checkbox>
         </el-checkbox-group>
-        <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
+        <div style="text-align: center; margin-top: 10px" v-else>{{lang.Nodata}}</div>
       </div>
       <div style="margin-top: 10px">
         <el-pagination background layout="prev, pager, next" :page-size="pageSize3" :total="total3"
@@ -298,8 +300,8 @@
           @current-change="handleCurrentChange3"></el-pagination>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisibleMember = false">取 消</el-button>
-        <el-button type="primary" @click="addClassStudent">确定</el-button>
+        <el-button @click="dialogVisibleMember = false">{{lang.Cancel}}</el-button>
+        <el-button type="primary" @click="addClassStudent">{{lang.Confirm}}</el-button>
       </span>
     </el-dialog>
   </div>
@@ -369,7 +371,7 @@ export default {
             name = element.name;
           }
         });
-        return name ? name : "暂无";
+        return name ? name : this.lang.None;
       };
     },
   },
@@ -444,12 +446,12 @@ export default {
         .then((res) => {
           if (res.data[0] && res.data[0][0].classname == 1) {
             this.$message({
-              message: "不能与其他年级名称相同!",
+              message: this.lang.Cannotsameother,
               type: "error",
             });
           } else {
             this.$message({
-              message: "新增成功",
+              message: this.lang.AddSuccessful,
               type: "success",
             });
             this.dialogVisible = false;
@@ -460,7 +462,7 @@ export default {
         })
         .catch((err) => {
           this.$message({
-            message: "新增失败",
+            message: this.lang.Additionfailed,
             type: "error",
           });
           console.error(err);
@@ -478,12 +480,12 @@ export default {
         .then((res) => {
           if (res.data[0] && res.data[0][0].classname == 1) {
             this.$message({
-              message: "不能与其他年级名称相同!",
+              message: this.lang.Cannotsameother,
               type: "error",
             });
           } else {
             this.$message({
-              message: "修改成功",
+              message: this.lang.Editsuccessful,
               type: "success",
             });
             this.dialogVisible1 = false;
@@ -494,7 +496,7 @@ export default {
         })
         .catch((err) => {
           this.$message({
-            message: "修改失败",
+            message: this.lang.Modificationfailed,
             type: "error",
           });
           console.error(err);
@@ -528,9 +530,9 @@ export default {
         id: id,
       };
       if (this.time()) {
-        this.$confirm("确定删除此年级吗?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
+        this.$confirm(this.lang.Aystdtg, this.lang.tip, {
+          confirmButtonText: this.lang.Confirm,
+          cancelButtonText: this.lang.Cancel,
           type: "warning",
         })
           .then(() => {
@@ -538,7 +540,7 @@ export default {
               .get(this.$store.state.api + "deleteGrade", params)
               .then((res) => {
                 this.$message({
-                  message: "删除成功",
+                  message: this.lang.Successfullydelete,
                   type: "success",
                 });
                 if (this.page != 1 && this.tableData.length == 1) {
@@ -547,7 +549,7 @@ export default {
                 this.getClass();
               })
               .catch((err) => {
-                this.$message.error("删除失败");
+                this.$message.error(this.lang.Deletefailed);
                 console.error(err);
               });
           })
@@ -566,18 +568,18 @@ export default {
     //新增学生
     insertStudent() {
       if (this.sName === "") {
-        this.$message.error("学生姓名不能为空");
+        this.$message.error(this.lang.Stucannotempty);
         return;
       } else if (
         this.sPhone != "" &&
         !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.sPhone)
       ) {
-        this.$message.error("手机号格式不正确");
+        this.$message.error(this.lang.phonenumberincorrect);
         return;
       } else if (
         !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(this.sMail)
       ) {
-        this.$message.error("邮箱格式不正确");
+        this.$message.error(this.lang.Emailformatincorrect);
         return;
       }
 
@@ -587,7 +589,7 @@ export default {
           .get(this.$store.state.api + "findMail", params)
           .then((res) => {
             if (res.data[0].length > 0) {
-              this.$message.error("此学生账号已被注册");
+              this.$message.error(this.lang.accalreadyregistered);
             } else {
               this.add_Student();
             }
@@ -601,7 +603,7 @@ export default {
       let params = [
         {
           username: this.sMail,
-          password: '',
+          userpassword: 'Coco1234',
           alias: this.sName,
           oid: this.oid,
           ph: this.sPhone,
@@ -634,7 +636,7 @@ export default {
               console.error(err);
             });
           this.$message({
-            message: "新增成功",
+            message: this.lang.AddSuccessful,
             type: "success",
           });
           this.dialogVisibleAddStudent = false;
@@ -647,7 +649,7 @@ export default {
         .catch((err) => {
           this.isLoading = false;
           this.$message({
-            message: "新增失败",
+            message: this.lang.Additionfailed,
             type: "error",
           });
           console.error(err);
@@ -661,23 +663,23 @@ export default {
     },
     updateStudent() {
       if (this.userinfo.name === "") {
-        this.$message.error("学生姓名不能为空");
+        this.$message.error(this.lang.Stucannotempty);
         return;
       } else if (!this.userinfo.classid) {
-        this.$message.error("请为学生选择年级");
+        this.$message.error(this.lang.selectgradestu);
         return;
       } else if (
         this.userinfo.phonenumber &&
         !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.userinfo.phonenumber)
       ) {
-        this.$message.error("手机号格式不正确");
+        this.$message.error(this.lang.phonenumberincorrect);
         return;
       } else if (
         !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(
           this.userinfo.un
         )
       ) {
-        this.$message.error("邮箱格式不正确");
+        this.$message.error(this.lang.Emailformatincorrect);
         return;
       }
 
@@ -688,7 +690,7 @@ export default {
             .get(this.$store.state.api + "findMail", params)
             .then((res) => {
               if (res.data[0].length > 0) {
-                this.$message.error("此学生账号已被注册");
+                this.$message.error(this.lang.accalreadyregistered);
               } else {
                 this.update_Student();
               }
@@ -716,7 +718,7 @@ export default {
         .post(this.$store.state.api + "updateStudentInfo", params)
         .then((res) => {
           this.$message({
-            message: "修改成功",
+            message: this.lang.Editsuccessful,
             type: "success",
           });
           this.dialogVisibleUpdate = false;
@@ -725,7 +727,7 @@ export default {
         .catch((err) => {
           this.isLoading = false;
           this.$message({
-            message: "修改失败",
+            message: this.lang.Modificationfailed,
             type: "error",
           });
           console.error(err);
@@ -733,9 +735,9 @@ export default {
     },
     deleteClassStudent(id) {
       let params = [{ uid: id, cid: this.cid }];
-      this.$confirm("确定在本年级移除此班级吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.lang.Aystrtcftg, this.lang.tip, {
+        confirmButtonText: this.lang.Confirm,
+        cancelButtonText: this.lang.Cancel,
         type: "warning",
       })
         .then(() => {
@@ -743,13 +745,13 @@ export default {
             .post(this.$store.state.api + "deleteGradeClass", params)
             .then((res) => {
               this.$message({
-                message: "操作成功",
+                message: this.lang.OperateSuccessful,
                 type: "success",
               });
               this.getStudent(this.cid);
             })
             .catch((err) => {
-              this.$message.error("操作失败");
+              this.$message.error(this.lang.operationfailed);
               console.error(err);
             });
         })
@@ -843,7 +845,7 @@ export default {
     },
     addClassStudent() {
       if (!this.checkboxList3.length) {
-        this.$message.error("请选择要添加的班级");
+        this.$message.error(this.lang.selectclassadd);
         return;
       }
       let params = [
@@ -864,23 +866,23 @@ export default {
         });
     },
     iniPassword(id) {
-      this.$confirm("确定" + "初始化" + "此学生的密码吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.lang.Aystrtp, this.lang.tip, {
+        confirmButtonText: this.lang.Confirm,
+        cancelButtonText: this.lang.Cancel,
         type: "warning",
       })
         .then(() => {
           let params = [
             {
               uid: id,
-              pa: '',
+              pa: 'Coco1234',
             },
           ];
           this.ajax
             .post(this.$store.state.api + "iniPassword", params)
             .then((res) => {
               this.$message({
-                message: "初始化密码成功!",
+                message: this.lang.Resetsuccessful,
                 type: "success",
               });
             })

+ 111 - 107
src/components/pages/studentManage/student.vue

@@ -15,7 +15,7 @@
               )
             ">
           <span class="icon gradeI"></span>
-          <span class="name">年级管理</span>
+          <span class="name">{{lang.GradeManagement}}</span>
         </div>
         <div class="nav" @click="
               goTo(
@@ -30,11 +30,11 @@
               )
             ">
           <span class="icon classI"></span>
-          <span class="name">班级管理</span>
+          <span class="name">{{lang.ClassManagement}}</span>
         </div>
         <div class="nav active">
           <span class="icon studentI"></span>
-          <span class="name">学生管理</span>
+          <span class="name">{{lang.StudentManagement}}</span>
         </div>
       </div>
       <div class="sm_right">
@@ -49,30 +49,30 @@
             display: flex;
             align-items: center;
         ">
-              <span>学生管理</span>
+              <span>{{lang.StudentManagement}}</span>
             </div>
           </div>
           <div class="student_head">
             <div class="head_left">
-              <el-input v-model="sPhoneUser" class="student_input" placeholder="请输入用户名"></el-input>
-              <el-select v-model="cid" placeholder="请选择班级" class="student_input" @change="searchStudent">
-                <el-option label="所有人" value=""></el-option>
+              <el-input v-model="sPhoneUser" class="student_input" :placeholder="lang.Enterusername"></el-input>
+              <el-select v-model="cid" :placeholder="lang.SelectClass" class="student_input" @change="searchStudent">
+                <el-option :label="lang.AllPeople" value=""></el-option>
                 <el-option v-for="(item, index) in classJuri" :key="index" :label="item.name"
                   :value="item.id"></el-option>
               </el-select>
-              <el-button class="student_button" @click="searchStudent" type="primary">查询</el-button>
+              <el-button class="student_button" @click="searchStudent" type="primary">{{lang.Search}}</el-button>
             </div>
             <div class="head_right">
-              <el-button @click="addStudent" type="primary" class="student_button">添加学生</el-button>
+              <el-button @click="addStudent" type="primary" class="student_button">{{lang.AddStudents}}</el-button>
               <el-upload class="upload-demo newCss" :http-request="handleChange" :on-remove="handleRemove" action="#"
                 :file-list="fileListUpload" accept=".xlsx">
-                <el-button size="primary" type="primary">批量添加</el-button>
+                <el-button size="primary" type="primary">{{lang.BatchAdd}}</el-button>
                 <div slot="tip" class="el-upload__tip" style="margin-left: 10px">
-                  只能上传xlsx文件,且不超过500kb
+                  {{lang.XLSXMax}}
                 </div>
               </el-upload>
               <!-- <el-button @click="exportExcel">导出学生</el-button> -->
-              <div @click="getExcel">xls 上传样例</div>
+              <div @click="getExcel">{{lang.EXffu}}</div>
             </div>
           </div>
         </div>
@@ -81,7 +81,7 @@
             <el-table ref="table" :data="tableData" border :height="tableHeight" :fit="true" v-loading="isLoading"
               style="width: 100%" :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
               :row-class-name="tableRowClassName">
-              <el-table-column label="姓名" min-width="10" align="center">
+              <el-table-column :label="lang.Name" min-width="10" align="center">
                 <template slot-scope="scope">
                   <div class="userImg">
                     <div class="tx">
@@ -102,7 +102,7 @@
                   </div>
                 </template>
               </el-table-column>
-              <el-table-column label="学生账号" min-width="15" align="center">
+              <el-table-column :label="lang.StudentAccount" min-width="15" align="center">
                 <template slot-scope="scope">
                   <div>{{ scope.row.un ? scope.row.un : "" }}</div>
                 </template>
@@ -112,7 +112,7 @@
                 <div>{{scope.row.phonenumber ? scope.row.phonenumber : "" }}</div>
               </template>
             </el-table-column> -->
-              <!-- <el-table-column prop="studentid" label="学号" min-width="10" align="center"></el-table-column> -->
+              <!-- <el-table-column prop="studentid" label=lang.studentIDL min-width="10" align="center"></el-table-column> -->
               <!-- <el-table-column
               prop="school"
               label="学校"
@@ -120,18 +120,18 @@
               align="center"
             >
             </el-table-column>-->
-              <el-table-column prop="classname2" label="班级" min-width="15" align="center">
+              <el-table-column prop="classname2" :label="lang.Class" min-width="15" align="center">
               </el-table-column>
-              <el-table-column label="操作" width="250px">
+              <el-table-column :label="lang.Action" width="250px">
                 <template slot-scope="scope">
                   <div class="btnBox">
                     <el-button class="de_button" type="primary" size="small" style="
                       width: auto;
                       padding: 5px !important;
                       line-height: 15px;
-                    " @click="iniPassword(scope.row.userid)">初始化密码</el-button>
+                    " @click="iniPassword(scope.row.userid)">{{lang.InitialPassword}}</el-button>
                     <el-button class="de_button" type="primary" size="small"
-                      @click="updateStudentA(scope.row)">修改</el-button>
+                      @click="updateStudentA(scope.row)">{{lang.Edit}}</el-button>
                     <div class="delete">
                       <img src="../../../assets/remove.png" alt
                         @click="deleteStudent(scope.row.userid, scope.row.state)" />
@@ -154,12 +154,12 @@
         <div class="logoImg">
           <img src="../../../assets/logo.png" alt />
         </div>
-        <div class="title_add_student">添加学生</div>
+        <div class="title_add_student">{{lang.AddStudents}}</div>
       </div>
       <el-form>
-        <el-form-item label="学生姓名" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentName" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生姓名" clearable v-model="sName" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuname" clearable v-model="sName" class="add_input"></el-input>
           </span>
         </el-form-item>
         <!-- <el-form-item label="学生学号" :label-width="formLabelWidth">
@@ -172,7 +172,7 @@
             ></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生手机号" :label-width="formLabelWidth">
+        <el-form-item label=lang.StudentPhoneNumber :label-width="formLabelWidth">
           <span>
             <el-input
               placeholder="请输入学生手机号"
@@ -182,24 +182,25 @@
             ></el-input>
           </span>
         </el-form-item> -->
-        <el-form-item label="学生账号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentAccount" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生账号" clearable v-model="sMail" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuacc" clearable v-model="sMail" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="所属学校" :label-width="formLabelWidth">
+        <el-form-item :label="lang.AffiliatedSchool" :label-width="formLabelWidth">
           <el-input disabled style="width: 300px" v-model="schoolName"></el-input>
         </el-form-item>
-        <el-form-item label="班级" :label-width="formLabelWidth">
-          <el-select multiple collapse-tags v-model="sByClass" placeholder="请选择班级" filterable>
+        <el-form-item :label="lang.Class" :label-width="formLabelWidth">
+          <el-select multiple collapse-tags v-model="sByClass" :placeholder="lang.SelectClass" filterable>
             <el-option v-for="(item, index) in classJuri" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <div style="text-align: center; color: #adb3b7">
+          {{lang.NoteTdpfnsai}}
         </div>
       </el-form>
       <span slot="footer" class="dialog-footer flex">
-        <el-button class="right" @click="insertStudent">确认</el-button>
+        <el-button class="right" @click="insertStudent">{{lang.confirm}}</el-button>
       </span>
     </el-dialog>
     <el-dialog :visible.sync="dialogVisibleUpdate" :append-to-body="true" width="700px" :before-close="handleClose"
@@ -208,12 +209,12 @@
         <div class="logoImg">
           <img src="../../../assets/logo.png" alt />
         </div>
-        <div class="title_add_student">修改学生</div>
+        <div class="title_add_student">{{lang.EditStudent}}</div>
       </div>
       <el-form>
-        <el-form-item label="学生名称" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentName" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生姓名" clearable v-model="userinfo.name" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuname" clearable v-model="userinfo.name" class="add_input"></el-input>
           </span>
         </el-form-item>
         <!-- <el-form-item label="学生学号" :label-width="formLabelWidth">
@@ -221,29 +222,30 @@
             <el-input placeholder="请输入学生学号" clearable v-model="userinfo.studentid" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生手机号" :label-width="formLabelWidth">
+        <el-form-item label=lang.StudentPhoneNumber :label-width="formLabelWidth">
           <span>
             <el-input placeholder="请输入学生手机号" clearable v-model="userinfo.phonenumber" class="add_input"></el-input>
           </span>
         </el-form-item> -->
-        <el-form-item label="学生账号" :label-width="formLabelWidth">
+        <el-form-item :label="lang.StudentAccount" :label-width="formLabelWidth">
           <span>
-            <el-input placeholder="请输入学生账号" clearable v-model="userinfo.un" class="add_input"></el-input>
+            <el-input :placeholder="lang.enterstuacc" clearable v-model="userinfo.un" class="add_input"></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="所属学校" :label-width="formLabelWidth">
+        <el-form-item :label="lang.AffiliatedSchool" :label-width="formLabelWidth">
           <el-input disabled style="width: 300px" v-model="schoolName"></el-input>
         </el-form-item>
-        <el-form-item label="班级" :label-width="formLabelWidth">
-          <el-select multiple collapse-tags v-model="userinfo.classid" placeholder="请选择班级">
+        <el-form-item :label="lang.Class" :label-width="formLabelWidth">
+          <el-select multiple collapse-tags v-model="userinfo.classid" :placeholder="lang.SelectClass">
             <el-option v-for="(item, index) in classJuri" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <div style="text-align: center; color: #adb3b7">
+          {{lang.NoteTdpfnsai}}
         </div>
       </el-form>
       <span slot="footer" class="dialog-footer flex">
-        <el-button class="right" @click="updateStudent">修改</el-button>
+        <el-button class="right" @click="updateStudent">{{lang.Modified}}</el-button>
       </span>
     </el-dialog>
   </div>
@@ -261,7 +263,7 @@ export default {
     return {
       tableHeight: "500px",
       isLoading: false,
-      formLabelWidth: "100px",
+      formLabelWidth: "140px",
       tableData: [],
       dialogVisible: false,
       dialogVisibleUpdate: false,
@@ -351,10 +353,10 @@ export default {
       require.ensure([], () => {
         const { export_json_to_excel } = require("../../../common/Export2Excel");
         // 增加 colWidths 参数以调整列宽,例如调整为 [20, 35, 20]
-        const tHeader = ["学生姓名", "学生账号(建议直接使用学号)", "班级"];
+        const tHeader = [this.lang.StudentName, this.lang.StudentaccountAdd, this.lang.Class];
         const data = [];
         const colWidths = [20, 45, 20]; // 设置每一列的宽度
-        export_json_to_excel(tHeader, data, "上传学生样例", colWidths);
+        export_json_to_excel(tHeader, data, this.lang.Uploadstusamples, colWidths);
       });
     },
     handleCurrentChange(val) {
@@ -379,23 +381,23 @@ export default {
     insertStudent() {
       this.dialogVisible = true;
       if (this.sName === "") {
-        this.$message.error("学生姓名不能为空");
+        this.$message.error(this.lang.Stucannotempty);
         return;
       } else if (this.sByClass === "") {
-        this.$message.error("请为学生选择班级");
+        this.$message.error(this.lang.chooseclastudents);
         return;
       } else if (
         this.sPhone != "" &&
         !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.sPhone)
       ) {
-        this.$message.error("手机号格式不正确");
+        this.$message.error(this.lang.phonenumberincorrect);
         return;
       } else if (
         // !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(this.sMail)
         this.sMail === ""
       ) {
-        // this.$message.error("邮箱格式不正确");
-        this.$message.error("学生账号不能为空");
+        // this.$message.error(this.lang.Emailformatincorrect);
+        this.$message.error(this.lang.acccannotempty);
         return;
       }
 
@@ -430,7 +432,7 @@ export default {
           .get(this.$store.state.api + "findMail", params)
           .then((res) => {
             if (res.data[0].length > 0) {
-              this.$message.error("此学生账号已被注册");
+              this.$message.error(this.lang.accalreadyregistered);
             } else {
               // let params = { un: this.sId };
               // this.ajax
@@ -471,7 +473,7 @@ export default {
       let params = [
         {
           username: mail,
-          password: '',
+          userpassword: 'Coco1234',
           alias: this.sName,
           oid: this.oid,
           ph: this.sPhone,
@@ -510,7 +512,7 @@ export default {
           //     console.error(err);
           //   });
           this.$message({
-            message: "新增成功",
+            message: this.lang.AddSuccessful,
             type: "success",
           });
 
@@ -529,7 +531,7 @@ export default {
           this.addOp3('1', "", { type: "student_user_add" }, err)
 
           this.$message({
-            message: "新增失败",
+            message: this.lang.Additionfailed,
             type: "error",
           });
           console.error(err);
@@ -601,16 +603,16 @@ export default {
           this.importfxx(this.fileTemp);
           this.addOp3('1', "", { type: "student_user_adds" }, "success")
         } else {
-          this.addOp3('1', "", { type: "student_user_adds" }, "附件格式错误")
+          this.addOp3('1', "", { type: "student_user_adds" }, this.lang.formaterror)
           this.$message({
             type: "warning",
-            message: "附件格式错误,请删除后重新上传!",
+            message: this.lang.uploadagain,
           });
         }
       } else {
         this.$message({
           type: "warning",
-          message: "请上传附件!",
+          message: this.lang.uploadattachment,
         });
       }
     },
@@ -631,9 +633,9 @@ export default {
             var array = [];
             for (var i = 0; i < res.length; i++) {
               var _json = {};
-              _json["用户名"] = res[i].username;
-              _json["姓名"] = res[i].alias ? res[i].alias : "";
-              _json["班级"] = res[i].classid ? res[i].classid : "";
+              _json[this.lang.Username] = res[i].username;
+              _json[this.lang.Name] = res[i].alias ? res[i].alias : "";
+              _json[this.lang.Class] = res[i].classid ? res[i].classid : "";
               array.push(_json);
             }
 
@@ -647,12 +649,12 @@ export default {
               { wch: 50 },
             ];
             XLSX.utils.book_append_sheet(workbook, ws, "sheet1"); //把sheet添加到workbook里,第三个参数是sheet名
-            XLSX.writeFile(workbook, "学生信息.xlsx");
+            XLSX.writeFile(workbook, this.lang.studentinformation + ".xlsx");
             // const wopts = { bookType: "xlsx", bookSST: false, type: "array" };//写入的样式bookType:输出的文件类型,type:输出的数据类型,bookSST: 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性
             // const wbout = XLSX.write(workbook, wopts);// 浏览器端和node共有的API,实际上node可以直接使用xlsx.writeFile来写入文件,但是浏览器没有该API
             // FileSaver.saveAs(new Blob([wbout], { type: "application/octet-stream" }), `${title} demo.xlsx`);//保存文件
             this.$message({
-              message: "导出成功",
+              message: this.lang.Exportsuccessful,
               type: "success",
             });
           })
@@ -712,20 +714,20 @@ export default {
               num += Math.floor(Math.random() * 10);
             }
             // a =
-            //   pinyin.getFullChars(v["学生姓名"]).toLowerCase() +
+            //   pinyin.getFullChars(v[lang.StudentName]).toLowerCase() +
             //   num +
             //   "@cocorobo.cc";
              a =
-              pinyin.getFullChars(v["学生姓名"]).toLowerCase() +
+              pinyin.getFullChars(v[_this.lang.StudentName]).toLowerCase() +
               num + _this.userSuffix;
-            obj.sId = v["学号"];
-            obj.name = v["学生姓名"];
-            // obj.mail = v["学生账号"] ? v["学生账号"] : a;
-            // console.log('v["学生账号"]',v["学生账号"]==true,v["学生账号"]);
-            // 兼容“学生账号(建议直接使用学号)”和“学生账号”两种表头
-            let accountValue = v["学生账号(建议直接使用学号)"] !== undefined && v["学生账号(建议直接使用学号)"] !== "" 
-              ? v["学生账号(建议直接使用学号)"] 
-              : v["学生账号"];
+            obj.sId = v[_this.lang.studentIDL];
+            obj.name = v[_this.lang.StudentName];
+            // obj.mail = v[_this.lang.StudentAccount] ? v[_this.lang.StudentAccount] : a;
+            // console.log('v[_this.lang.StudentAccount]',v[_this.lang.StudentAccount]==true,v[_this.lang.StudentAccount]);
+            // 兼容"学生账号(建议直接使用学号)"和"学生账号"两种表头
+            let accountValue = v[_this.lang.StudentaccountAdd] !== undefined && v[_this.lang.StudentaccountAdd] !== "" 
+              ? v[_this.lang.StudentaccountAdd] 
+              : v[_this.lang.StudentAccount];
             if (accountValue) {
               if(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(accountValue)){
                 obj.mail = accountValue;
@@ -740,13 +742,13 @@ export default {
             }else{
               obj.mail = a;
             }
-            obj.phone = v["学生手机号"];
-            obj.class = v["班级"];
+            obj.phone = v[_this.lang.StudentPhoneNumber];
+            obj.class = v[_this.lang.Class];
             arr.push(obj);
           });
           console.log(arr);
           if(arr.length > 70){
-            _this.$message.error("限制上传学生数量不能超过70个");
+            _this.$message.error(_this.lang.Limitmore);
             _this.fileListUpload = [];
             loading.close();
             return;
@@ -756,15 +758,15 @@ export default {
             let item = arr[i];
             if (item.class === "") {
               _b = 2;
-              _this.$message.error("学生班级不能为空,请重新上传");
+              _this.$message.error(_this.lang.Studentcannotempty);
               break;
             } else if (item.name === "") {
               _b = 2;
-              _this.$message.error("学生姓名不能为空,请重新上传");
+              _this.$message.error(_this.lang.Stuuploadagain);
               break;
             } else if (item.sId === "") {
               _b = 2;
-              _this.$message.error("学生学号不能为空,请重新上传");
+              _this.$message.error(_this.lang.StudIDuploadagain);
             }
             // else if (item.phone === "") {
             //   _b = 1;
@@ -777,7 +779,7 @@ export default {
             // }
             else if (item.mail === "") {
               _b = 2;
-              _this.$message.error("学生账号不能为空,请重新上传");
+              _this.$message.error(_this.lang.Stuaccuploadagain);
               break;
             } else if (
               !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(
@@ -785,7 +787,7 @@ export default {
               )
             ) {
               _b = 2;
-              _this.$message.error("有学生账号格式不正确,请重新上传");
+              _this.$message.error(_this.lang.stuaccformatuploadagain);
               break;
             }
             //#region 
@@ -881,7 +883,7 @@ export default {
             //         beforeSend: function (xhr) {},
             //         success: function (res, textStatus, jqXHR) {
             //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生手机号码已被注册");
+            //             _this.$message.error(lang.stunumberregistered);
             //             _a = 1;
             //           }
             //         },
@@ -908,7 +910,7 @@ export default {
             //         beforeSend: function (xhr) {},
             //         success: function (res, textStatus, jqXHR) {
             //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生账号已被注册");
+            //             _this.$message.error(lang.stuaccregistered);
             //             _a = 1;
             //           }
             //         },
@@ -935,7 +937,7 @@ export default {
             //         beforeSend: function (xhr) {},
             //         success: function (res, textStatus, jqXHR) {
             //           if (res[0].length > 0) {
-            //             _this.$message.error("有学生学号重复");
+            //             _this.$message.error(lang.studuplicateIDs);
             //             _a = 1;
             //           }
             //         },
@@ -994,7 +996,7 @@ export default {
             //         });
             //       loading.close();
             //       // _this.$message({
-            //       //   message: "新增成功",
+            //       //   message: lang.AddSuccessful,
             //       //   type: "success",
             //       // });
             //       _this.getStudent();
@@ -1026,7 +1028,7 @@ export default {
           let params = [
             {
               arr: newArr,
-              password: '',
+              userpassword: 'Coco1234',
               oid: _this.oid,
             },
           ];
@@ -1034,20 +1036,20 @@ export default {
             .post(_this.$store.state.api + "batchRegistrationMore", params)
             .then((res) => {
               if (res.data.type == 1) {
-                _this.$message.error("有学生手机号码已被注册");
+                _this.$message.error(_this.lang.stunumberregistered);
                 z = 1;
               }
               if (res.data.type == 2) {
-                _this.$message.error("有学生账号已被注册");
+                _this.$message.error(_this.lang.stuaccregistered);
                 z = 1;
               }
               if (res.data.type == 3) {
-                _this.$message.error("有学生学号重复");
+                _this.$message.error(_this.lang.studuplicateIDs);
                 z = 1;
               }
               if (z == 2) {
                 _this.$message({
-                  message: "新增成功",
+                  message: _this.lang.AddSuccessful,
                   type: "success",
                 });
                 setTimeout(() => {
@@ -1092,9 +1094,9 @@ export default {
     deleteStudent(id, state) {
       state = 0;
       let params = [{ uid: id, state: state }];
-      this.$confirm("确定" + "删除" + "此学生吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.lang.Aystd, this.lang.tip, {
+        confirmButtonText: this.lang.Confirm,
+        cancelButtonText: this.lang.Cancel,
         type: "warning",
       })
         .then(() => {
@@ -1102,36 +1104,36 @@ export default {
             .post(this.$store.state.api + "deleteStudent", params)
             .then((res) => {
               this.$message({
-                message: "操作成功",
+                message: this.lang.OperateSuccessful,
                 type: "success",
               });
               this.getStudent();
             })
             .catch((err) => {
-              this.$message.error("操作失败");
+              this.$message.error(this.lang.operationfailed);
               console.error(err);
             });
         })
         .catch(() => { });
     },
     iniPassword(id) {
-      this.$confirm("确定" + "初始化" + "此学生的密码吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.lang.Aystrtp, this.lang.tip, {
+        confirmButtonText: this.lang.Confirm,
+        cancelButtonText: this.lang.Cancel,
         type: "warning",
       })
         .then(() => {
           let params = [
             {
               uid: id,
-              pa: '',
+              pa: 'Coco1234',
             },
           ];
           this.ajax
             .post(this.$store.state.api + "iniPassword", params)
             .then((res) => {
               this.$message({
-                message: "初始化密码成功!",
+                message: this.lang.Resetsuccessful,
                 type: "success",
               });
             })
@@ -1149,23 +1151,23 @@ export default {
     },
     updateStudent() {
       if (this.userinfo.name === "") {
-        this.$message.error("学生姓名不能为空");
+        this.$message.error(this.lang.Stucannotempty);
         return;
       } else if (!this.userinfo.classid) {
-        this.$message.error("请为学生选择班级");
+        this.$message.error(this.lang.chooseclastudents);
         return;
       } else if (
         this.userinfo.phonenumber &&
         !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.userinfo.phonenumber)
       ) {
-        this.$message.error("手机号格式不正确");
+        this.$message.error(this.lang.phonenumberincorrect);
         return;
       } else if (
         !/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(
           this.userinfo.un
         )
       ) {
-        this.$message.error("邮箱格式不正确");
+        this.$message.error(this.lang.Emailformatincorrect);
         return;
       }
 
@@ -1176,7 +1178,7 @@ export default {
             .get(this.$store.state.api + "findMail", params)
             .then((res) => {
               if (res.data[0].length > 0) {
-                this.$message.error("此学生账号已被注册");
+                this.$message.error(this.lang.accalreadyregistered);
               } else {
                 this.update_Student();
               }
@@ -1204,7 +1206,7 @@ export default {
         .post(this.$store.state.api + "updateStudentInfo", params)
         .then((res) => {
           this.$message({
-            message: "修改成功",
+            message: this.lang.Editsuccessful,
             type: "success",
           });
           this.dialogVisibleUpdate = false;
@@ -1213,7 +1215,7 @@ export default {
         .catch((err) => {
           this.isLoading = false;
           this.$message({
-            message: "修改失败",
+            message: this.lang.Modificationfailed,
             type: "error",
           });
           console.error(err);
@@ -1277,9 +1279,11 @@ export default {
 .student_button {
   color: #fff;
   background: #2268bc;
-  width: 60px;
+  /* width: 60px; */
   height: 30px;
-  padding: 0 !important;
+  /* padding: 0 !important; */
+  padding: 0 10px !important;
+  box-sizing: border-box;
   font-size: 12px;
   line-height: 30px;
 }
@@ -1287,9 +1291,9 @@ export default {
 .head_right>button:nth-child(1) {
   color: #fff;
   background: #2268bc;
-  width: 70px;
+  /* width: 70px; */
   height: 30px;
-  padding: 0 !important;
+  /* padding: 0 !important; */
   font-size: 12px;
   line-height: 30px;
 }

+ 1 - 0
src/lang/cn.json

@@ -16,6 +16,7 @@
   "Department":"教研室",
   "TeacherAccount":"老师账号",
   "Nodata":"暂无数据",
+  "Norecordsfound":"暂无数据",
   "AddTeachers":"添加教师",
   "Searchteachername":"搜索老师姓名",
   "SelectMembers":"选择成员",

+ 10 - 8
src/lang/en.json

@@ -46,7 +46,7 @@
   "Class":"Class",
   "StudentClass":"Student Class",
   "InitialPassword":"Initial Password",
-  "Aystrtp":"Are you sure to reset the password?",
+  "Aystrtp":"Are you want to reset the password?",
   "Reset":"Reset",
   "Resetsuccessful":"Reset successful",
   "AddStudent":"Add Student",
@@ -55,10 +55,10 @@
   "EnterStudentID":"Enter Student ID",
   "AffiliatedSchool":"Affiliated School",
   "SelectClass":"Select Class",
-  "NoteTdpfnsai":"Note: The default password for new student accounts is '123456'",
+  "NoteTdpfnsai":"Note: The default password for new student accounts is 'Coco1234'",
   "EditStudent":"Edit Student",
   "Editsuccessful":"Edit successful",
-  "Aystd":"Are you sure to delete?",
+  "Aystd":"Are you want to delete?",
   "EnterClassName":"Enter Class Name",
   "Grade":"Grade",
   "NumberofStudents":"Number of Students",
@@ -73,11 +73,11 @@
   "EnterStudentNumber":"Enter Student Number",
   "StudentPhoneNumber":"Student Phone Number",
   "EnterStudentPhoneNumber":"Enter Student Phone Number",
-  "Aystrtsftc":"Are you sure to remove this student from this class?",
+  "Aystrtsftc":"Are you want to remove this student from this class?",
   "SelectGrade":"Select Grade",
   "EditClass":"Edit Class",
   "ClassName":"Class Name",
-  "Aystdtc":"re you sure to delete this class?",
+  "Aystdtc":"re you want to delete this class?",
   "Enterclass":"Enter class",
   "EnterGradeName":"Enter Grade Name",
   "AddGrade":"Add Grade",
@@ -89,8 +89,8 @@
   "SelectClasses":"Select Classes",
   "SearchforClassName":"Search for Class Name",
   "Add":"Add",
-  "Aystrtcftg":"Are you sure to remove this class from this grade?",
-  "Aystdtg":"Are you sure to delete this grade?",
+  "Aystrtcftg":"Are you want to remove this class from this grade?",
+  "Aystdtg":"Are you want to delete this grade?",
   "EnterGrade":"Enter Grade",
   "CocoNote":"CocoNote",
   "EditCoconote":"Edit Coconote",
@@ -746,7 +746,9 @@
   "Putleacontent": "Collapse Learning Content",
   "Expandleacontent": "Expand Learning Content",
 
-  "Menuitems":"教研室"
+  "Menuitems":"Department",
+  "Norecordsfound":"No records found"
+
 
 
 }

+ 1 - 0
src/lang/hk.json

@@ -16,6 +16,7 @@
   "Department": "教研室",
   "TeacherAccount": "老師賬號",
   "Nodata": "暫無數據",
+  "Norecordsfound":"暫無數據",
   "AddTeachers": "添加教師",
   "Searchteachername": "搜索老師的姓名",
   "SelectMembers": "選擇成員",