Переглянути джерело

feat: [data-models/quickmonitor] 新增计算可用、剩余数量

zhangyuhan 1 рік тому
батько
коміт
415e4d4fb1

+ 31 - 0
data/data-models/modules/quick-monitor/README.md

@@ -28,6 +28,9 @@ const useMonitor = useQuickMonitor({
 
 // 监控状态
 // useMonitor.model
+// useMonitor.id
+// useMonitor.fid
+// useMonitor.loading
 
 // async 初始化,获取当前监控状态信息
 useMonitor.doFetch()
@@ -80,3 +83,31 @@ return {
   data: {}
 }
 ```
+
+## Setup 用法
+### 组合式
+````vue
+<script setup>
+  import { reactive, toRefs } from 'vue'
+  import useQuickMonitor from '@jy/data-models/modules/quick-monitor/model'
+
+  const useMonitor = useQuickMonitor({
+    type: props.type,
+    params: {
+      id: props.params
+    }
+  })
+
+  const { doFetch, doChange } = useMonitor
+
+  const { model } = toRefs(reactive(useMonitor))
+
+  // 未监控时可点击监控
+  function changeFollow() {
+    if (!model.value.follow) {
+      doChange()
+    }
+  }
+  
+<script>
+````

+ 8 - 0
data/data-models/modules/quick-monitor/plugins/ent-api.js

@@ -35,6 +35,10 @@ export default class MonitorEntApi extends MonitorApiBase {
       }
       result.success = res?.error_code === 0 && res?.data?.status === 0
       result.data = res?.data
+      if (result.success) {
+        this.model.expands.used += 1
+        this.model.expands.surplus = Math.max(this.model.expands.surplus - 1, 0)
+      }
       return result
     })
   }
@@ -47,6 +51,10 @@ export default class MonitorEntApi extends MonitorApiBase {
         }
         result.success = res?.error_code === 0 && res?.data === 'success'
         result.data = res?.data
+        if (result.success) {
+          this.model.expands.surplus += 1
+          this.model.expands.used = Math.max(this.model.expands.used - 1, 0)
+        }
         return result
       }
     )

+ 8 - 0
data/data-models/modules/quick-monitor/plugins/project-api.js

@@ -42,6 +42,10 @@ export default class MonitorProjectApi extends MonitorApiBase {
       if (res?.data?.followId) {
         this.fid = res.data.followId
       }
+      if (result.success) {
+        this.model.expands.used += 1
+        this.model.expands.surplus = Math.max(this.model.expands.surplus - 1, 0)
+      }
       return result
     })
   }
@@ -54,6 +58,10 @@ export default class MonitorProjectApi extends MonitorApiBase {
         }
         result.success = res?.error_code === 0 && res?.data === 'success'
         result.data = res?.data
+        if (result.success) {
+          this.model.expands.surplus += 1
+          this.model.expands.used = Math.max(this.model.expands.used - 1, 0)
+        }
         return result
       }
     )