bill 1 年之前
父节点
当前提交
719fce4f1d
共有 4 个文件被更改,包括 28 次插入7 次删除
  1. 1 1
      src/api/constant.ts
  2. 7 2
      src/store/sys.ts
  3. 5 1
      src/store/tagging.ts
  4. 15 3
      src/views/tagging/index.vue

+ 1 - 1
src/api/constant.ts

@@ -23,7 +23,7 @@ export const DELETE_MODEL = `/laser/sceneFusion/${params.m}/del`
 
 // 标注列表
 export const TAGGING_LIST = `/laser/sceneTag/${params.m}/list/${params.fushId}`
-export const INSERT_TAGGING = `/laser/sceneTag/${params.m}/edit`
+export const INSERT_TAGGING = `/laser/sceneTag/${params.m}/add`
 export const UPDATE_TAGGING = `/laser/sceneTag/${params.m}/edit`
 export const DELETE_TAGGING = `/laser/sceneTag/${params.m}/delete`
 

+ 7 - 2
src/store/sys.ts

@@ -103,9 +103,14 @@ export const autoSetModeCallback = <T extends object>(current: T, setting: AutoS
     })
   
   const saveCallback = async () => {
-    leaveCallback && sysBus.off('leave', leaveCallback, { last: true })
     isSave = true
-    await setting.save()
+    try {
+      await setting.save()
+    } catch (e){
+      isSave = false
+      throw e
+    }
+    leaveCallback && sysBus.off('leave', leaveCallback, { last: true })
     setting.backup && setting.backup()
     isSave = false
   }

+ 5 - 1
src/store/tagging.ts

@@ -48,8 +48,12 @@ export const createTagging = (tagging: Partial<Tagging> = {}): Tagging => ({
 
 
 let bcTaggings: Taggings = []
-export const getBackupTaggings = () => bcTaggings
+export const getBackupTaggings = () => {
+  console.error("get back?", bcTaggings)
+  return bcTaggings
+}
 export const backupTaggings = () => {
+  console.error("back?")
   bcTaggings = taggings.value.map(tagging => ({
     ...tagging,
     images: [...tagging.images],

+ 15 - 3
src/views/tagging/index.vue

@@ -2,7 +2,7 @@
   <RightFillPano>
     <ui-group borderBottom>
       <template #header>
-        <ui-button @click="editTagging = createTagging()">
+        <ui-button @click="insertTagging">
           <ui-icon type="add" />
           新增
         </ui-button>
@@ -51,7 +51,7 @@ import { Message } from 'bill/index'
 import { RightFillPano } from '@/layout'
 import { asyncTimeout, togetherCallback } from '@/utils'
 import { useViewStack } from '@/hook'
-import { computed, nextTick, ref, watch } from 'vue';
+import { computed, nextTick, ref, toRaw, watch, watchEffect } from 'vue';
 import { sdk } from '@/sdk'
 import { 
   taggings, 
@@ -81,10 +81,22 @@ import {
 const keyword = ref('')
 const filterTaggings = computed(() => taggings.value.filter(tagging => tagging.title.includes(keyword.value)))
 
+const insertTagging = () => {
+  editTagging.value = createTagging()
+  insertIng = true
+}
+
 const editTagging = ref<Tagging | null>(null)
+let insertIng = false
+watchEffect(() => {
+  if (!editTagging.value) {
+    insertIng = false
+  }
+})
+
 const saveHandler = (tagging: Tagging) => {
   if (!editTagging.value) return;
-  if (isTemploraryID(editTagging.value.id)) {
+  if (insertIng) {
     taggings.value.push(tagging)
   } else {
     Object.assign(editTagging.value, tagging)