瀏覽代碼

可再次选择标记和分数,取消当前选择

Michael Wang 4 年之前
父節點
當前提交
27fc930a44
共有 3 個文件被更改,包括 22 次插入8 次删除
  1. 6 1
      src/features/mark/MarkBoardTrack.vue
  2. 1 3
      src/features/mark/MarkBody.vue
  3. 15 4
      src/features/mark/SpecialTagModal.vue

+ 6 - 1
src/features/mark/MarkBoardTrack.vue

@@ -207,7 +207,12 @@ export default defineComponent({
       return store.currentScore === score;
     }
     function chooseScore(score: number) {
-      store.currentScore = score;
+      if (store.currentScore === score) {
+        store.currentScore = undefined;
+      } else {
+        store.currentScore = score;
+        store.currentSpecialTag = undefined;
+      }
     }
 
     let keyPressTimestamp = 0;

+ 1 - 3
src/features/mark/MarkBody.vue

@@ -51,9 +51,7 @@
   <div class="cursor">
     <div class="cursor-border">
       <span class="text">{{
-        store.setting.uiSetting["specialTag.modal"]
-          ? store.currentSpecialTag
-          : store.currentScore
+        store.currentSpecialTag || store.currentScore
       }}</span>
     </div>
   </div>

+ 15 - 4
src/features/mark/SpecialTagModal.vue

@@ -12,25 +12,25 @@
       class="tw-flex tw-place-content-between tw-m-4 tw-text-xl tw-cursor-pointer"
     >
       <div
-        @click="store.currentSpecialTag = '√'"
+        @click="toggleTag('√')"
         :class="[store.currentSpecialTag === '√' && 'tag-selected', 'tag']"
       >
       </div>
       <div
-        @click="store.currentSpecialTag = 'X'"
+        @click="toggleTag('X')"
         :class="[store.currentSpecialTag === 'X' && 'tag-selected', 'tag']"
       >
         X
       </div>
       <div
-        @click="store.currentSpecialTag = '乄'"
+        @click="toggleTag('乄')"
         :class="[store.currentSpecialTag === '乄' && 'tag-selected', 'tag']"
       >
       </div>
       <div
-        @click="store.currentSpecialTag = '_____'"
+        @click="toggleTag('_____')"
         :class="[store.currentSpecialTag === '_____' && 'tag-selected', 'tag']"
         style="width: 60px"
       >
@@ -79,11 +79,22 @@ export default defineComponent({
       store.currentMarkResult.specialTagList = [];
     }
 
+    const toggleTag = (tagName: string) => {
+      if (store.currentSpecialTag === tagName) {
+        store.currentSpecialTag = undefined;
+      } else {
+        store.currentSpecialTag = tagName;
+        store.currentScore = undefined;
+      }
+    };
+
     const close = () => {
+      store.currentSpecialTag = undefined;
       store.setting.uiSetting["specialTag.modal"] = false;
     };
     return {
       store,
+      toggleTag,
       close,
       clearLatestTagOfCurrentTask,
       clearAllTagsOfCurrentTask,