Commit 5cfe086b657dfd3585af9cb10a9e6bea9a22a577

Authored by loveumiko
1 parent 0d8bf1b5

wip: 引用模板设备查询接口变更

... ... @@ -24,6 +24,7 @@ export interface ConfigurationContentType {
24 24 productIds?: string[]
25 25 isTemplate?: string | number
26 26 productAndDevice?: ProductAndDevice[]
  27 + templateId?: string
27 28 }
28 29
29 30 export interface ConfigurationContentListItemType {
... ...
... ... @@ -73,7 +73,7 @@ async function getDeviceList() {
73 73 const organizationId = window.useParseParams().organizationId
74 74 if (!organizationId) return
75 75 const productIds = unref(contentDataStore.getProductIds)
76   - const result = await getListByDeviceProfileIds({ deviceProfileIds: productIds || [], organizationId })
  76 + const result = unref(contentDataStore.getIsTemplateLink) ? [] : await getListByDeviceProfileIds({ deviceProfileIds: productIds || [], organizationId })
77 77 deviceList.value = result.map(item => ({
78 78 ...item,
79 79 label: item.alias || item.name,
... ...
... ... @@ -11,6 +11,7 @@ import { ControlComponentEnum } from '@/core/Library/packages/Control'
11 11 const contentDataStore = useContentDataStoreWithOut()
12 12 export const formSchemas = (componentKey?: string): FormSchema[] => {
13 13 const isTemplate = contentDataStore.isTemplate // 判断是否是模板组态
  14 + const isTemplateLink = contentDataStore.getIsTemplateLink
14 15 return [
15 16 {
16 17 field: ContentDataFieldsEnum.DEVICE_PROFILE_ID,
... ... @@ -47,7 +48,10 @@ export const formSchemas = (componentKey?: string): FormSchema[] => {
47 48 if (!organizationId) return
48 49 return {
49 50 showSearch: true,
50   - api: getListByDeviceProfileIds,
  51 + api: async (params: Recordable) => {
  52 + if (isTemplateLink) return []
  53 + return await getListByDeviceProfileIds(params)
  54 + },
51 55 params: {
52 56 deviceProfileIds: unref(contentDataStore.getProductIds),
53 57 organizationId,
... ...
... ... @@ -46,9 +46,10 @@ export function useContentData() {
46 46 const result = mode === PageModeEnum.SHARE ? await shareModeBootstrap() : await getContent()
47 47
48 48 if (result) {
49   - const { productAndDevice, nodelist, isTemplate } = result
  49 + const { productAndDevice, nodelist, isTemplate, templateId } = result
50 50 if (nodelist) contentDataStore.saveContentData(nodelist)
51 51 if (isTemplate) contentDataStore.setIsTemplate(isTemplate)
  52 + if (templateId) contentDataStore.setIsTemplateLink(templateId)
52 53 if (productAndDevice) contentDataStore.setProductAndDevice(productAndDevice)
53 54 }
54 55 return result
... ...
... ... @@ -23,6 +23,8 @@ interface ContentDataStoreType {
23 23 diveceDetailMap: Record<string, DeviceList>
24 24 hasDesignAuth?: boolean
25 25 hasPerviewAuth?: boolean
  26 + isTemplateLink?: boolean
  27 +
26 28 }
27 29
28 30 export const useContentDataStore = defineStore('app-content-data', {
... ... @@ -36,6 +38,7 @@ export const useContentDataStore = defineStore('app-content-data', {
36 38 diveceDetailMap: {},
37 39 hasDesignAuth: true,
38 40 hasPerviewAuth: true,
  41 + isTemplateLink: true,
39 42 }),
40 43 actions: {
41 44
... ... @@ -61,6 +64,10 @@ export const useContentDataStore = defineStore('app-content-data', {
61 64 this.isTemplate = string
62 65 },
63 66
  67 + setIsTemplateLink(string?: string) {
  68 + this.isTemplateLink = !!string
  69 + },
  70 +
64 71 setProductAndDevice(list: ProductAndDevice[]) {
65 72 this.productAndDevice = list
66 73 this.doBuildDeviceMap()
... ... @@ -103,6 +110,9 @@ export const useContentDataStore = defineStore('app-content-data', {
103 110 getIsTemplate(): number | null | string | undefined {
104 111 return this.isTemplate
105 112 },
  113 + getIsTemplateLink(): boolean {
  114 + return !!this.isTemplateLink
  115 + },
106 116 },
107 117 })
108 118
... ...