diff --git a/src/views/rule-engine/Scene/Save/Device/Product.vue b/src/views/rule-engine/Scene/Save/Device/Product.vue index 5c6b3a9d..a1725b6d 100644 --- a/src/views/rule-engine/Scene/Save/Device/Product.vue +++ b/src/views/rule-engine/Scene/Save/Device/Product.vue @@ -192,28 +192,30 @@ const columns = [ hideInTable: true, search: { type: 'treeSelect', - options: getTreeData_api({ paging: false }).then((resp: any) => { - const formatValue = (list: any[]) => { - return list.map((item: any) => { - if (item.children) { - item.children = formatValue(item.children); - } - return { - ...item, - value: JSON.stringify({ - assetType: 'product', - targets: [ - { - type: 'org', - id: item.id, - }, - ], - }), - } - }) - } - return formatValue(resp.result) - }), + options: () => new Promise((resolve) => { + getTreeData_api({ paging: false }).then((resp: any) => { + const formatValue = (list: any[]) => { + return list.map((item: any) => { + if (item.children) { + item.children = formatValue(item.children); + } + return { + ...item, + value: JSON.stringify({ + assetType: 'product', + targets: [ + { + type: 'org', + id: item.id, + }, + ], + }), + } + }) + } + resolve(formatValue(resp.result) || []) + }) + }) } } ] diff --git a/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue b/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue index 39845fe7..80dc2198 100644 --- a/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue +++ b/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue @@ -175,14 +175,14 @@ const handOptionByColumn = (option: any) => { termTypeOptions.value = option.termTypes || [] tabsOptions.value[0].component = option.type if (option.type === 'boolean') { - valueOptions.value = [ - { name: '是', id: true }, - { name: '否', id: false }, + valueOptions.value = option.options?.map((item: any) => ({ ...item, label: item.name, value: item.id})) || [ + { label: '是', value: true }, + { label: '否', value: false }, ] } else if(option.type === 'enum') { valueOptions.value = option.options?.map((item: any) => ({ ...item, label: item.name, value: item.id})) || [] } else{ - valueOptions.value = option.options || [] + valueOptions.value = (option.options || []).map((item: any) => ({ ...item, label: item.name, value: item.id})) } valueColumnOptions.value = treeFilter(cloneDeep(columnOptions.value), option.type, 'type') } else { diff --git a/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue b/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue index fd2eb8fd..40f92b8f 100644 --- a/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue +++ b/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue @@ -176,14 +176,14 @@ const handOptionByColumn = (option: any) => { } if (option.dataType === 'boolean') { - valueOptions.value = [ + valueOptions.value = option.options?.map((item: any) => ({ ...item, label: item.name, value: item.id})) || [ { label: '是', value: true }, { label: '否', value: false }, ] } else if(option.dataType === 'enum') { valueOptions.value = option.options?.map((item: any) => ({ ...item, label: item.name, value: item.id})) || [] } else{ - valueOptions.value = option.options || [] + valueOptions.value = (option.options || []).map((item: any) => ({ ...item, label: item.name, value: item.id})) } } else { termTypeOptions.value = []