From 0a3a2b152c5457cbe003ee6f42c9e5a450a2951a Mon Sep 17 00:00:00 2001
From: K <1175047471@qq.com>
Date: Thu, 7 Mar 2024 17:24:52 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E5=A4=87=E8=AF=A6=E6=83=85?=
=?UTF-8?q?=E4=B8=AD=E5=A2=9E=E5=8A=A0=E4=BA=A7=E5=93=81=E7=89=A9=E6=A8=A1?=
=?UTF-8?q?=E5=9E=8B=E9=A1=B5=E9=9D=A2=E8=B7=B3=E8=BD=AC=E6=8C=89=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../device-manage/device/components/DeviceInfo.vue | 4 ++++
src/views/product/components/Model.vue | 2 +-
.../components/composables/useModelService.ts | 4 ++--
src/views/product/data.ts | 6 ++++++
src/views/product/detail.vue | 12 ++++++++----
5 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/views/device-manage/device/components/DeviceInfo.vue b/src/views/device-manage/device/components/DeviceInfo.vue
index ce6b9428..10b3fb97 100644
--- a/src/views/device-manage/device/components/DeviceInfo.vue
+++ b/src/views/device-manage/device/components/DeviceInfo.vue
@@ -6,6 +6,7 @@ import { useDeviceProperties } from './composables/useDeviceProperties'
import { Description } from '@/components/Description'
import { useModelService } from '@/views/product/components/composables/useModelService'
import { usePermission } from '@/hooks/web/usePermission'
+import { ProductTabEnums } from '@/views/product/data'
const { data, scheam } = useDeviceInfo()
@@ -99,6 +100,9 @@ const { hasPermission } = usePermission()
diff --git a/src/views/product/components/Model.vue b/src/views/product/components/Model.vue
index 7e4f6172..d5ab204c 100644
--- a/src/views/product/components/Model.vue
+++ b/src/views/product/components/Model.vue
@@ -22,7 +22,7 @@ const {
registerModelServiceModal,
openModelServiceModal,
reloadModelService,
-} = useModelService(route.params.id as string)
+} = useModelService(route.params.id as string, route.params.modelId as string)
const {
registerModelAttributeTable,
diff --git a/src/views/product/components/composables/useModelService.ts b/src/views/product/components/composables/useModelService.ts
index 027fcf76..411c4f5b 100644
--- a/src/views/product/components/composables/useModelService.ts
+++ b/src/views/product/components/composables/useModelService.ts
@@ -6,7 +6,7 @@ import { useMessage } from '@/hooks/web/useMessage'
import { useModal } from '@/components/Modal'
import type { ModelService } from '@/api/product/types'
-export function useModelService(productId: MaybeRefOrGetter) {
+export function useModelService(productId: MaybeRefOrGetter, defaultModelId?: string) {
const selectedModelId = ref()
const { state, execute } = useAsyncState(
@@ -22,7 +22,7 @@ export function useModelService(productId: MaybeRefOrGetter)
watchOnce(state, () => {
if (state.value.length > 0)
- selectedModelId.value = state.value[0].id
+ selectedModelId.value = defaultModelId || state.value[0].id
})
const [registerModelServiceModal, { openModal }] = useModal()
diff --git a/src/views/product/data.ts b/src/views/product/data.ts
index ca6a6fcc..327de5e5 100644
--- a/src/views/product/data.ts
+++ b/src/views/product/data.ts
@@ -180,3 +180,9 @@ export function getFormSchema(isUpdate: Ref): FormSchema[] {
},
]
}
+
+export enum ProductTabEnums {
+ TopicManage = '1',
+ Model = '2',
+ Subscription = '3',
+}
diff --git a/src/views/product/detail.vue b/src/views/product/detail.vue
index 10f84d78..ead6b75c 100644
--- a/src/views/product/detail.vue
+++ b/src/views/product/detail.vue
@@ -2,7 +2,9 @@
import { Card, Tabs } from 'ant-design-vue'
import { useAsyncState } from '@vueuse/core'
import { useRoute } from 'vue-router'
+import { ref } from 'vue'
import { Model, Subscription, TopicManage } from './components'
+import { ProductTabEnums } from './data'
import { Description } from '@/components/Description'
import { getProductDetail } from '@/api/product'
import type { DescItem } from '@/components/Description'
@@ -66,6 +68,8 @@ const schema: DescItem[] = [
},
]
+const activeTab = ref(route.params.activeTab as unknown as ProductTabEnums || ProductTabEnums.TopicManage)
+
const { hasPermission } = usePermission()
@@ -76,14 +80,14 @@ const { hasPermission } = usePermission()
-
-
+
+
-
+
-
+