SanHQin 20 часов назад
Родитель
Сommit
de45ca9549
26 измененных файлов с 126 добавлено и 52 удалено
  1. 1 1
      dist/index.html
  2. 0 0
      dist/static/css/app.2c4e0ab28604ae578383e4f196fd96d1.css
  3. 0 0
      dist/static/css/app.a4c2f4ca59eb098e1453a77068def670.css
  4. 0 0
      dist/static/css/app.a4c2f4ca59eb098e1453a77068def670.css.map
  5. 0 0
      dist/static/css/workPage.79baa6c19f14e5cd0c9e5cc97539f06a.css
  6. 0 0
      dist/static/css/workPage.79baa6c19f14e5cd0c9e5cc97539f06a.css.map
  7. 0 0
      dist/static/css/workPage.c0779d1828187fb38dc1ed23bd9c87aa.css
  8. 0 0
      dist/static/css/workPage.c0779d1828187fb38dc1ed23bd9c87aa.css.map
  9. 0 0
      dist/static/js/app.541d7aca6d95b13b1c05.js
  10. 0 0
      dist/static/js/app.541d7aca6d95b13b1c05.js.map
  11. 0 0
      dist/static/js/manifest.23ea04dc469b57e2b4f8.js.map
  12. 0 0
      dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map
  13. 0 0
      dist/static/js/workPage.34f2fffc94017808263d.js
  14. 0 0
      dist/static/js/workPage.34f2fffc94017808263d.js.map
  15. 0 0
      dist/static/js/workPage.a913d52c347314599266.js
  16. 0 0
      dist/static/js/workPage.a913d52c347314599266.js.map
  17. 1 1
      dist/workPage.html
  18. 10 1
      src/App.vue
  19. 24 2
      src/components/common/ConfirmDialog.vue
  20. 21 8
      src/components/pages/pptEasy/addCourse3.vue
  21. 11 7
      src/components/pages/pptEasy/dialog/appDialog.vue
  22. 43 22
      src/components/pages/pptEasy/dialog/selectTag3.vue
  23. 9 5
      src/components/pages/workPage/components/setChoiceQuestion.vue
  24. 2 1
      src/lang/cn.json
  25. 2 3
      src/lang/en.json
  26. 2 1
      src/lang/hk.json

+ 1 - 1
dist/index.html

@@ -37,7 +37,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.2c4e0ab28604ae578383e4f196fd96d1.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.714ff2bfc93f2f096b79.js></script><script type=text/javascript src=./static/js/app.1485cfb7d19cb9b0c77a.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.a4c2f4ca59eb098e1453a77068def670.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.714ff2bfc93f2f096b79.js></script><script type=text/javascript src=./static/js/app.541d7aca6d95b13b1c05.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/app.2c4e0ab28604ae578383e4f196fd96d1.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/app.a4c2f4ca59eb098e1453a77068def670.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/app.a4c2f4ca59eb098e1453a77068def670.css.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/workPage.79baa6c19f14e5cd0c9e5cc97539f06a.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/workPage.79baa6c19f14e5cd0c9e5cc97539f06a.css.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/workPage.c0779d1828187fb38dc1ed23bd9c87aa.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/workPage.c0779d1828187fb38dc1ed23bd9c87aa.css.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/app.541d7aca6d95b13b1c05.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/app.541d7aca6d95b13b1c05.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/manifest.23ea04dc469b57e2b4f8.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage.34f2fffc94017808263d.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage.34f2fffc94017808263d.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage.a913d52c347314599266.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage.a913d52c347314599266.js.map


+ 1 - 1
dist/workPage.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.79baa6c19f14e5cd0c9e5cc97539f06a.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7b2c55096449c94cc8fd.js></script><script type=text/javascript src=./static/js/workPage.34f2fffc94017808263d.js></script></body></html><script>function stopSafari() {
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.c0779d1828187fb38dc1ed23bd9c87aa.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7b2c55096449c94cc8fd.js></script><script type=text/javascript src=./static/js/workPage.a913d52c347314599266.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

+ 10 - 1
src/App.vue

@@ -553,7 +553,8 @@ html::-webkit-scrollbar-thumb {
 
 .count-node {
   position: absolute;
-  top: 2px;
+  top: 50%;
+  transform: translateY(-50%);
   display: none;
   height: 24px;
   padding: 0 8px;
@@ -574,4 +575,12 @@ html::-webkit-scrollbar-thumb {
 .filter-item-option.selected{
   color: #ff9300;
 }
+
+.loadingColor .el-loading-spinner .path {
+  stroke: #FF9500 !important;  /* 橙色加载动画 */
+}
+
+.loadingColor .el-loading-spinner .el-loading-text {
+  color: #FF9500 !important;  /* 橙色文字 */
+}
 </style>

+ 24 - 2
src/components/common/ConfirmDialog.vue

@@ -8,7 +8,10 @@
       class="confirm_dialog_custom"
     >
       <div class="confirm_dialog_content">
-        <h3 class="confirm_dialog_title">{{ title }}</h3>
+        <h3 class="confirm_dialog_title">
+          <span>{{ title }}</span>
+        <div class="modal-close" @click="handleClose">×</div>
+        </h3>
         <p class="confirm_dialog_message">{{ message }}</p>
       </div>
       <div class="confirm_dialog_footer">
@@ -95,9 +98,28 @@ export default {
   font-size: 18px;
   font-weight: bold;
   margin-bottom: 16px;
-  color: #333;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.modal-close {
+  font-size: 24px;
+  color: #909399;
+  cursor: pointer;
+  transition: color 0.3s;
+  width: 30px;
+  height: 30px;
+  line-height: 30px;
+  border-radius: 5px;
+  text-align: center;
+  font-weight: 500;
 }
 
+.modal-close:hover {
+  /* color: #409eff; */
+  background-color: #f3f4f6;
+}
 .confirm_dialog_message {
   font-size: 14px;
   line-height: 1.5;

+ 21 - 8
src/components/pages/pptEasy/addCourse3.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="pb_content" style="background: #F0F2F5;" v-loading.fullscreen.lock="uploadWorkLoading">
+  <div class="pb_content loadingColor" style="background: #F0F2F5;" v-loading.fullscreen.lock="uploadWorkLoading">
     <confirm-dialog
       :visible.sync="confirmVisible"
       :title="confirmTitle"
@@ -446,7 +446,7 @@
               </div>
             </div>
           </div>
-          <div class="image-grid" v-loading="imageloading">
+          <div class="image-grid loadingColor" v-loading="imageloading">
             <div class="picNone" v-if="!imageList.length && !imageloading">
               {{ lang.ssEnterKeywordSearch }}
             </div>
@@ -682,7 +682,7 @@
       </span>
     </el-dialog>
     <el-dialog :title="lang.ssAddH5" :visible.sync="dialogVisible7" :append-to-body="true" width="500px"
-      :before-close="handleClose" class="dialog_diy lineCss" v-loading="isAddOrUpdateLineLoading">
+      :before-close="handleClose" class="dialog_diy lineCss loadingColor" v-loading="isAddOrUpdateLineLoading">
       <el-form>
         <el-form-item :label="lang.ssTitle" :label-width="formLabelWidth" v-show="false">
           <span>
@@ -833,7 +833,7 @@
               </div>
               <GradeClassSelector
                 v-model="checkboxList2"
-                :grade-options="gradeOptions"
+                :grade-options="gradeOptions2"
                 :class-options="classOptions"
                 :lang="lang"
                 @gradeChange="onGradeChange"
@@ -878,7 +878,7 @@
               <div class="form-row">
                 <div class="form-item" style="flex: 1;">
                   <label class="form-label">{{ lang.ssCourseCover }}</label>
-                  <div class="cover-upload-area" v-loading="avatar_loading">
+                  <div class="cover-upload-area loadingColor" v-loading="avatar_loading">
                     <div class="cover-placeholder" v-if="!cover.length">
                       <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
                         <g id="Component 2">
@@ -1186,6 +1186,7 @@ export default {
       selectedGrade: [],
       subjectOptions: [],
       gradeOptions: [],
+      gradeOptions2: [],
       avatar_loading: false,
       isAddOrUpdateLineLoading: false,
     };
@@ -1352,8 +1353,8 @@ export default {
       }));
       
       // 初始化年级选项,添加全部班级选项
-      this.gradeOptions = [
-        { id: '', name: '全部班级' }
+      this.gradeOptions2 = [
+        { id: '', name: this.lang.allGrades }
       ].concat(this.gradeArray.map(item => ({
         id: item.id,
         name: item.name
@@ -1634,7 +1635,8 @@ export default {
       this.ajax
         .post(this.$store.state.api + "copyCourse2", params)
         .then((res) => {
-          this.$message.success(this.lang.Successfullycopy)
+          // this.$message.success(this.lang.Successfullycopy)
+          // this.showToast(this.lang.Successfullycopy);
         })
         .catch((err) => {
           console.error(err);
@@ -3547,6 +3549,7 @@ export default {
 </script>
 
 <style scoped>
+
 .dialog_diy>>>.el-dialog__header {
   background: #3c3c3c !important;
   padding: 15px 20px;
@@ -5106,6 +5109,16 @@ export default {
   cursor: pointer;
   transition: color 0.3s;
   font-size: 18px;
+  background-color: #fff8f0;
+  border: 1px solid #f89a3d;
+  width: fit-content;
+  margin: 0 auto;
+  height: 40px;
+  line-height: 40px;
+  outline: 0;
+  padding: 0 15px;
+  border-radius: 4px;
+  box-sizing: border-box;
 }
 
 .course-name-text:hover {

+ 11 - 7
src/components/pages/pptEasy/dialog/appDialog.vue

@@ -13,26 +13,26 @@
           <div class="ac_h_bottom">
             <div class="ac_h_b_selectList">
               <div>
-                <el-select v-model="selectJuri" :placeholder="lang.ssSelectScope" @change="changeSelectType"
+                <el-select class="tagS" v-model="selectJuri" :placeholder="lang.ssSelectScope" @change="changeSelectType"
                   style="width: 120px;margin-right: 10px;">
-                  <el-option v-for="item in selectList" :key="item.index" :label="item.label"
+                  <el-option class="tagOption" v-for="item in selectList" :key="item.index" :label="item.label"
                     :value="item.index"></el-option>
                 </el-select>
-                <el-select v-model="selectLabel" :placeholder="lang.ssSelectType" @change="changeSelectType"
+                <el-select class="tagS" v-model="selectLabel" :placeholder="lang.ssSelectType" @change="changeSelectType"
                   style="width: 110px;margin-right: 10px;">
-                  <el-option v-for="item in labelSelect" :key="item.value" :label="item.label"
+                  <el-option class="tagOption" v-for="item in labelSelect" :key="item.value" :label="item.label"
                     :value="item.value"></el-option>
                 </el-select>
 
-                <el-select v-model="statusType" :placeholder="lang.ssSelectStatus" @change="changeSelectType"
+                <el-select class="tagS" v-model="statusType" :placeholder="lang.ssSelectStatus" @change="changeSelectType"
                   style="width: 110px;margin-right: 10px;">
-                  <el-option v-for="item in statusList" :key="item.value" :label="item.label"
+                  <el-option class="tagOption" v-for="item in statusList" :key="item.value" :label="item.label"
                     :value="item.value"></el-option>
                 </el-select>
               </div>
 
               <div>
-                <el-input v-model="searchText" style="width: 250px;margin-right: 10px;"
+                <el-input class="tagS" v-model="searchText" style="width: 250px;margin-right: 10px;"
                   :placeholder="lang.ssEnterAppName" @keyup.enter.native="getData">
                   <i slot="suffix" class="searchInputIcon el-icon-search" @click="getData"></i>
                 </el-input>
@@ -883,4 +883,8 @@ export default {
 .checkActive {
   border: 2px solid #FF9400
 }
+
+.tagS >>>.el-input__inner:focus {
+  border-color: #ef9e28;
+}
 </style>

+ 43 - 22
src/components/pages/pptEasy/dialog/selectTag3.vue

@@ -1,23 +1,9 @@
 <template>
   <main>
-    <el-select
-      ref="select"
-      v-model="values"
-      multiple
-      style="width:100%"
-      :placeholder=lang.pleaseSelect3
-      @change="handleChange"
-      @remove-tag="removeTag"
-      class="tagS"
-    >
-      <el-option
-        class="tagOption"
-        v-for="item in options"
-        :key="item.id"
-        :disabled="disabled && item.id === Number(judgingCondition)"
-        :label="item.name"
-        :value="item.id"
-      />
+    <el-select ref="select" v-model="values" multiple style="width:100%" :placeholder=lang.pleaseSelect3
+      @change="handleChange" @remove-tag="removeTag" class="tagS">
+      <el-option class="tagOption" v-for="item in options" :key="item.id"
+        :disabled="disabled && item.id === Number(judgingCondition)" :label="item.name" :value="item.id" />
     </el-select>
   </main>
 </template>
@@ -59,7 +45,7 @@ export default {
   },
   computed: {
     /**
-     * @description 获取当前选中的值
+     * @description 获取当前选中的值(过滤掉"全部班级",不显示在标签中)
     */
     values: {
       get() {
@@ -94,7 +80,7 @@ export default {
       const callback = mutationsList => {
         mutationsList.forEach(item => {
           console.log(item);
-          
+
           if (item.type === 'childList') {
             const tagList = item.target.childNodes;
             let tagWidth = 0;
@@ -137,7 +123,42 @@ export default {
     /**
      * @description 选择框改变
      */
-    handleChange() {
+    handleChange(val) {
+      const hasallGrades = this.options.some(item => item.id === '');
+      if (hasallGrades) {
+        // 获取所有班级的id(不包括"全部班级")
+        const allGradesIds = this.options.filter(item => item.id || item.name === this.lang.allGrades).map(item => item.id);
+        const allGradesIds2 = this.options.filter(item => item.id).map(item => item.id);
+        const allGradesIndex = val.indexOf('');
+
+        // 检查当前是否已经是全选状态
+        const isAllSelected = allGradesIds2.every(id => val.includes(id));
+
+        const diff = val.filter(id => !this.value.includes(id)).concat(this.value.filter(id => !val.includes(id)));
+
+        if (allGradesIndex !== -1) {
+          if (isAllSelected) {
+            // 如果已经是全选状态,再点击"全部班级"则取消全选
+            this.values = [];
+          } else if (!isAllSelected && diff.length > 0 && !diff.includes('')) {
+            this.values = val.filter(id => id !== '');
+          } else {
+            // 如果选择了"全部班级"且不是全选状态,则自动选中所有班级
+            this.values = allGradesIds;
+          }
+        } else if (diff.includes('') && isAllSelected) {
+          // 如果是全选状态,则自动取消"全部班级"选中
+          this.values = [];
+        } else {
+          // 检查是否所有班级都被选中
+          const allSelected = allGradesIds2.every(id => val.includes(id));
+          if (allSelected && allGradesIds2.length > 0) {
+            // 如果所有班级都被选中,自动选中"全部班级"
+            this.values = ['', ...allGradesIds2];
+          }
+        }
+      }
+
       this.$emit('change', this.value);
     },
     /**
@@ -151,7 +172,7 @@ export default {
 };
 </script>
 <style scoped>
-.tagS >>> .el-input__inner:focus {
+.tagS>>>.el-input__inner:focus {
   border-color: #ef9e28;
 }
 </style>

+ 9 - 5
src/components/pages/workPage/components/setChoiceQuestion.vue

@@ -5,11 +5,12 @@
         <span>{{ lang.ssTopic }}{{ index + 1 }} <span v-if="item.answer.length==0 || item.checkList.some(opt=>!opt)">{{lang.ssNoSettingAnswer}}</span></span>
         <div class="ti_h_edit">
           <span @click="copyTest(item.id)">
-            <svg viewBox="0 0 1024 1024" version="1.1" p-id="4608" width="200" height="200">
+            <!-- <svg viewBox="0 0 1024 1024" version="1.1" p-id="4608" width="200" height="200">
               <path
                 d="M731.68184 676.057473 731.68184 183.323259c0-30.233582-24.512277-54.745858-54.747905-54.745858L184.216093 128.577401c-30.233582 0-54.746882 24.512277-54.746882 54.745858l0 492.734214c0 30.207999 24.5133 54.746882 54.746882 54.746882l492.717841 0C707.16854 730.804355 731.68184 706.265472 731.68184 676.057473zM622.1891 676.057473 238.962975 676.057473c-30.233582 0-54.746882-24.538883-54.746882-54.745858L184.216093 238.07014c0-30.233582 24.5133-54.746882 54.746882-54.746882l383.226125 0c30.233582 0 54.744835 24.512277 54.744835 54.746882l0 383.242498C676.933935 651.51859 652.421658 676.057473 622.1891 676.057473zM841.17458 292.817022l-54.745858 0 0 54.746882c30.232558 0 54.745858 24.5133 54.745858 54.759161l0 383.228171c0 30.206976-24.5133 54.745858-54.745858 54.745858L403.201573 840.297095c-30.233582 0-54.746882-24.538883-54.746882-54.745858l-54.746882 0 0 54.745858c0 30.207999 24.5133 54.747905 54.746882 54.747905l492.719888 0c30.234605 0 54.747905-24.539906 54.747905-54.747905L895.922485 347.563904C895.922485 317.329299 871.408161 292.817022 841.17458 292.817022z"
                 p-id="4609"></path>
-            </svg>
+            </svg> -->
+            <svg fill="#000" viewBox="0 0 1024 1024" width="200" height="200"><path d="M753.312 698.848 753.312 383.6736c0-62.048-50.3104-112.3264-112.288-112.3264L395.3024 271.3472 324.288 271.3472l-53.7344 0-29.536 0c-62.048 0-112.288 50.272-112.288 112.3264l0 400.0512c0 61.9776 50.24 112.2752 112.288 112.2752l400.0128 0c62.048 0 112.288-50.2976 112.288-112.2752l0-31.0656 0.8768 0 0-54.0352C753.888 698.624 753.6768 698.7776 753.312 698.848zM660.6016 681.728l0 42.5984c0 0.864-0.2368 1.792-0.2368 2.6688-1.4272 42.3552-36.064 76.3008-78.7328 76.3008L300.3392 803.296c-43.5968 0-78.9056-35.3664-78.9056-78.9696L221.4336 442.9888c0-42.2336 33.2608-76.4928 75.0144-78.5984 1.2928-0.064 2.5984-0.3712 3.8912-0.3712l41.4272 0L581.632 364.0192c43.6608 0 78.9696 35.4048 78.9696 78.9696L660.6016 681.728zM895.1232 555.5008 895.1232 240.3264c0-62.048-50.3104-112.3264-112.288-112.3264L537.1136 128 466.0992 128l-53.7344 0-29.536 0c-62.048 0-112.288 50.272-112.288 112.3264l0 4.4736 115.0784 0c13.4912-13.8112 32.0256-22.72 52.6464-23.7568 1.2864-0.064 2.592-0.3712 3.8848-0.3712l41.4272 0 239.8656 0c43.6608 0 78.9696 35.4048 78.9696 78.9696l0 238.7328 0 42.5984c0 0.864-0.2368 1.792-0.2368 2.6688-0.8768 25.9136-14.208 48.6336-34.176 62.4l0 106.6048 14.8352 0c62.048 0 112.288-50.2976 112.288-112.2752l0-31.0656L896 609.3056l0-54.0352C895.6992 555.2768 895.488 555.424 895.1232 555.5008z"></path></svg>
           </span>
 
           <!-- 上 -->
@@ -31,11 +32,14 @@
           </span>
 
           <span @click="deleteTest(item.id)" v-show="jsonData.testJson.length > 1">
-            <svg viewBox="0 0 1024 1024" version="1.1" p-id="12415" width="200" height="200">
+            <!-- <svg viewBox="0 0 1024 1024" version="1.1" p-id="12415" width="200" height="200">
               <path
                 d="M902.4 282.1H117.7c-13.4 0-23.5-10.1-23.5-23.5v-3.4c0-13.4 10.1-23.5 23.5-23.5h788.1c13.4 0 23.5 10.1 23.5 23.5v3.4c0 13.4-10.1 23.5-26.9 23.5zM634.1 151.3H386c-13.4 0-26.8-10.1-23.5-23.5v-6.7c0-13.4 10.1-23.5 23.5-23.5h248.2c13.4 0 23.5 10.1 23.5 23.5v3.4c3.3 13.3-10.1 26.8-23.6 26.8z m228.1 238.1c0-13.4-10.1-26.8-26.8-26.8-16.8 0-26.8 10.1-26.8 26.8L775 798.5v13.4c0 23.5-10.1 43.6-30.2 53.7-13.4 6.7-30.2 10.1-50.3 10.1H332.3c-33.5 3.4-60.4 0-70.4-33.5-3.4-6.7-6.7-16.8-6.7-26.8l-10.1-104-36.9-322c0-13.4-10.1-23.5-23.5-23.5s-26.8 10.1-26.8 23.5l47 462.8c0 40.2 40.2 73.8 80.5 73.8h459.5c40.2 0 80.5-33.5 80.5-73.8l36.8-462.8c0 3.3 0 0 0 0z m0 0"
                 p-id="12416"></path>
-            </svg>
+            </svg> -->
+            <svg fill="#000" style="width: 1.2rem;height: 1.2rem;"  viewBox="0 0 1024 1024"  width="200" height="200"><path d="M921.6 371.2v537.6c0 56.32-43.52 102.4-99.84 102.4H202.24c-53.76 0-99.84-46.08-99.84-102.4v-537.6c0-28.16 23.04-51.2 51.2-51.2s51.2 23.04 51.2 51.2l-2.56 486.4c0 28.16 23.04 51.2 48.64 51.2h522.24c28.16 0 46.08-23.04 46.08-51.2v-486.4c0-28.16 23.04-51.2 51.2-51.2s51.2 23.04 51.2 51.2z m51.2-204.8H51.2c-28.16 0-51.2 23.04-51.2 51.2s23.04 51.2 51.2 51.2h921.6c28.16 0 51.2-23.04 51.2-51.2s-23.04-51.2-51.2-51.2z m-665.6-51.2h409.6c28.16 0 51.2-23.04 51.2-51.2s-23.04-51.2-51.2-51.2H307.2c-28.16 0-51.2 23.04-51.2 51.2s23.04 51.2 51.2 51.2z m128 640v-384c0-28.16-23.04-51.2-51.2-51.2s-51.2 23.04-51.2 51.2v384c0 28.16 23.04 51.2 51.2 51.2s51.2-23.04 51.2-51.2z m256 0v-384c0-28.16-23.04-51.2-51.2-51.2s-51.2 23.04-51.2 51.2v384c0 28.16 23.04 51.2 51.2 51.2s51.2-23.04 51.2-51.2z" fill="#000"></path></svg>
+            <!-- <svg fill="#000" style="width: 1.2rem;height: 1.2rem;"  viewBox="0 0 1024 1024" width="200" height="200"><path d="M835.226046 328.70941a44.817364 44.817364 0 0 0-45.10981 44.524918v513.681565a48.107383 48.107383 0 0 1-48.546052 47.814937H282.356704a48.107383 48.107383 0 0 1-48.546051-47.814937V373.234328c0-24.565472-20.178781-44.524918-45.109811-44.524918s-45.182922 19.959446-45.182921 44.524918v513.681565c0 75.377981 62.144795 136.645438 138.69256 136.645438h459.140369c76.547765 0 138.69256-61.267457 138.69256-136.645438V373.234328a44.598029 44.598029 0 0 0-44.817364-44.524918z m-165.597601 447.881194v-403.57561a44.817364 44.817364 0 0 0-45.182922-44.451807 44.744252 44.744252 0 0 0-44.963587 44.451807v403.57561c0 24.565472 20.251892 44.451806 45.182922 44.451806a44.598029 44.598029 0 0 0 44.963587-44.451806z m-225.183493 0v-403.57561a44.817364 44.817364 0 0 0-45.10981-44.451807 44.817364 44.817364 0 0 0-45.182922 44.451807v403.57561c0 24.565472 20.251892 44.451806 45.182922 44.451806 24.857918 0 45.10981-19.886334 45.10981-44.451806z m534.152792-592.13023h-148.635728v-51.178066C829.962016 59.732115 769.352563 0 694.705698 0H329.001856C254.428102 0 193.818649 59.732115 193.818649 133.282308v51.178066H45.10981c-24.93103 0-45.10981 19.959446-45.10981 44.524918s20.178781 44.451806 45.10981 44.451806h933.341711c24.93103 0 45.10981-19.886334 45.10981-44.451806s-20.032557-44.524918-44.963587-44.524918z m-238.709125 0H284.111381v-51.178066c0-24.565472 20.178781-44.451806 45.10981-44.451807h365.484507c24.93103 0 45.182922 19.886334 45.182921 44.451807v51.178066z"></path></svg> -->
+            <!-- <svg fill="#000" viewBox="0 0 1024 1024" width="200" height="200"><path d="M380 455a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v240a8 8 0 0 1-8 8h-64a8 8 0 0 1-8-8V455zM644 455a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v240a8 8 0 0 0 8 8h64a8 8 0 0 0 8-8V455z" fill="#323338" p-id="12402"></path><path d="M321 212V96c0-17.673 14.327-32 32-32h320c17.673 0 32 14.327 32 32v116h183a8 8 0 0 1 8 8v64a8 8 0 0 1-8 8h-55v635c0 17.673-14.327 32-32 32H225c-17.673 0-32-14.327-32-32V292h-58a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8h186z m80-68v68h224v-68H401zM273 292v587h480V292H273z" ></path></svg> -->
           </span>
         </div>
       </div>
@@ -526,7 +530,7 @@ export default {
 
 .ti_h_edit>.disabled {
   cursor: not-allowed;
-  opacity: 0.5;
+  opacity: 0.3;
 }
 
 

+ 2 - 1
src/lang/cn.json

@@ -2047,5 +2047,6 @@
   "ssSelectedCourse":"已选择 * 个课程",
   "ssSelectedApp":"已选择 * 个应用",
   "ssSyncImportClassInfo":"提示: 如需同步导入班级信息,请于此处下载导入模板,并于【班级】列准确输入年级+班级名称作为学生班级(兴趣班不支持导入学生)。",
-  "ssNoSettingAnswer":"未设置正确答案"
+  "ssNoSettingAnswer":"未设置正确答案",
+  "allGrades": "全部年级"
 }

+ 2 - 3
src/lang/en.json

@@ -2046,7 +2046,6 @@
   "ssSelectedCourse":"Selected * courses",
   "ssSelectedApp":"Selected * apps",
   "ssNoSettingAnswer":"No correct answer set",
-  "ssSyncImportClassInfo":"Tip: If you need to synchronize import class information, please download the import template here, and accurately enter the grade + class name as the student class in the [Class] column (interest classes do not support importing students)."
-
-
+  "ssSyncImportClassInfo":"Tip: If you need to synchronize import class information, please download the import template here, and accurately enter the grade + class name as the student class in the [Class] column (interest classes do not support importing students).",
+  "allGrades": "All Grades"
 }

+ 2 - 1
src/lang/hk.json

@@ -2047,5 +2047,6 @@
   "ssSelectedApp":"已選擇 * 個應用",
   "ssCocoNoteUpdateTips":"協同建構不支持修改基本信息,只支持加入分組。",
   "ssNoSettingAnswer":"未設置正確答案",
-  "ssSyncImportClassInfo":"提示: 如需同步導入班級信息,請於此處下載導入模板,並於【班級】列準確輸入年級+班級名稱作為學生班級(興趣班不支持導入學生)。"
+  "ssSyncImportClassInfo":"提示: 如需同步導入班級信息,請於此處下載導入模板,並於【班級】列準確輸入年級+班級名稱作為學生班級(興趣班不支持導入學生)。",
+  "allGrades": "全部年級"
 }

Некоторые файлы не были показаны из-за большого количества измененных файлов