diff --git a/src/views/device/Firmware/Task/Save/SelectDevices.vue b/src/views/device/Firmware/Task/Save/SelectDevices.vue
index 355efce9..6caf66f5 100644
--- a/src/views/device/Firmware/Task/Save/SelectDevices.vue
+++ b/src/views/device/Firmware/Task/Save/SelectDevices.vue
@@ -166,6 +166,7 @@ const columns = [
dataIndex: 'registerTime',
search: {
type: 'date',
+ rename: 'registryTime'
},
width: 200,
scopedSlots: true,
@@ -290,7 +291,19 @@ watch(
* @param params
*/
const handleSearch = (e: any) => {
- params.value = e;
+ const newParams = (e?.terms as any[])?.map(item1 => {
+ item1.terms = item1.terms.map((item2: any) => {
+ if (item2.column === 'version') {
+ return {
+ column: 'id$dev-firmware',
+ value: [item2]
+ }
+ }
+ return item2
+ })
+ return item1
+ })
+ params.value = { terms: newParams || []}
};
diff --git a/src/views/device/Product/Detail/DeviceAccess/index.vue b/src/views/device/Product/Detail/DeviceAccess/index.vue
index 0a2444f9..da67db62 100644
--- a/src/views/device/Product/Detail/DeviceAccess/index.vue
+++ b/src/views/device/Product/Detail/DeviceAccess/index.vue
@@ -1019,6 +1019,9 @@ watchEffect(() => {
nextTick(() => {
getData();
});
+watch(()=>productStore.current,()=>{
+ getData()
+})
+
diff --git a/src/views/rule-engine/DashBoard/index.vue b/src/views/rule-engine/DashBoard/index.vue
index 039d03f6..f3658a2c 100644
--- a/src/views/rule-engine/DashBoard/index.vue
+++ b/src/views/rule-engine/DashBoard/index.vue
@@ -42,7 +42,6 @@
@@ -483,7 +482,11 @@ const selectChange = () => {
],
};
state.ranking = res.result
- ?.filter((item: any) => item.group === 'alarmRank')
+ ?.filter(
+ (item: any) =>
+ item.group === 'alarmRank' &&
+ item.data?.value?.count !== 0,
+ )
.map((d: { data: { value: any } }) => d.data?.value)
.sort(
(a: { count: number }, b: { count: number }) =>
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 80dc2198..9126c28d 100644
--- a/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue
+++ b/src/views/rule-engine/Scene/Save/action/ListItem/FilterCondition.vue
@@ -242,10 +242,30 @@ const handleOptionsColumnsValue = (termsColumns: any[], _options: any) => {
}
const columnSelect = (e: any) => {
- paramsValue.termType = 'eq'
- paramsValue.value = {
- source: tabsOptions.value[0].key,
- value: undefined
+ const dataType = e.type
+ const hasTypeChange = dataType !== tabsOptions.value[0].component
+ let termTypeChange = false
+
+ // 如果参数类型未发生变化,则不修改操作符以及值
+ const termTypes = e.termTypes
+ if (!termTypes.some((item: {id: string}) => paramsValue.termType === item.id)) { // 修改操作符
+ termTypeChange = true
+ paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
+ }
+
+ if (hasTypeChange) {
+ paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
+ paramsValue.value = {
+ source: tabsOptions.value[0].key,
+ value: undefined
+ }
+ } else if (termTypeChange) {
+ const oldValue = isArray(paramsValue.value!.value) ? paramsValue.value!.value[0] : paramsValue.value!.value
+ const value = arrayParamsKey.includes(e.key) ? [ oldValue, undefined ] : oldValue
+ paramsValue.value = {
+ source: paramsValue.value?.source || tabsOptions.value[0].key,
+ value: value
+ }
}
const columns = e.metadata === true ? [e.column] : []
@@ -266,7 +286,7 @@ const termsTypeSelect = (e: { key: string, name: string }) => {
const oldValue = isArray(paramsValue.value!.value) ? paramsValue.value!.value[0] : paramsValue.value!.value
const value = arrayParamsKey.includes(e.key) ? [ oldValue, undefined ] : oldValue
paramsValue.value = {
- source: tabsOptions.value[0].key,
+ source: paramsValue.value?.source || tabsOptions.value[0].key,
value: value
}
emit('update:value', { ...paramsValue })
diff --git a/src/views/rule-engine/Scene/Save/components/ParamsDropdown/Double.vue b/src/views/rule-engine/Scene/Save/components/ParamsDropdown/Double.vue
index 40b7b70b..23c25abf 100644
--- a/src/views/rule-engine/Scene/Save/components/ParamsDropdown/Double.vue
+++ b/src/views/rule-engine/Scene/Save/components/ParamsDropdown/Double.vue
@@ -48,7 +48,7 @@ const label: Record = {
const emit = defineEmits()
-const myValue = ref(props.value)
+const myValue = ref(props.value || [undefined, undefined] as any)
const mySource = ref(props.source)
const onSelect = (v: any, _label: string, index: number) => {
diff --git a/src/views/rule-engine/Scene/Save/components/ParamsDropdown/index.vue b/src/views/rule-engine/Scene/Save/components/ParamsDropdown/index.vue
index b76586ee..69b522a8 100644
--- a/src/views/rule-engine/Scene/Save/components/ParamsDropdown/index.vue
+++ b/src/views/rule-engine/Scene/Save/components/ParamsDropdown/index.vue
@@ -100,7 +100,7 @@ type Emit = {
}
const props = defineProps({
- ...defaultSetting
+ ...defaultSetting,
})
const emit = defineEmits()
diff --git a/src/views/rule-engine/Scene/Save/components/ParamsDropdown/typings.ts b/src/views/rule-engine/Scene/Save/components/ParamsDropdown/typings.ts
index fc93e106..35974dbb 100644
--- a/src/views/rule-engine/Scene/Save/components/ParamsDropdown/typings.ts
+++ b/src/views/rule-engine/Scene/Save/components/ParamsDropdown/typings.ts
@@ -14,7 +14,7 @@ export type TabsOption = {
key: string;
component: string
}
-type ValueArrayType = [string, number]
+type ValueArrayType = [string, number, undefined]
export type ValueType = string | number | undefined | ValueArrayType
export const defaultSetting = {
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 40f92b8f..5d6663fb 100644
--- a/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue
+++ b/src/views/rule-engine/Scene/Save/components/Terms/ParamsItem.vue
@@ -133,7 +133,7 @@ const props = defineProps({
type: '',
termType: 'eq',
value: {
- source: 'fixed',
+ source: 'manual',
value: undefined
}
})
@@ -216,12 +216,20 @@ watch(() => [columnOptions.value, paramsValue.column], () => {
const showDouble = computed(() => {
const isRange = paramsValue.termType ? arrayParamsKey.includes(paramsValue.termType) : false
+ const isSourceMetric = paramsValue.value?.source === 'metric'
if (metricsCacheOption.value.length) {
metricOption.value = metricsCacheOption.value.filter(item => isRange ? item.range : !item.range)
} else {
metricOption.value = []
}
- return isRange && !isMetric.value
+
+ if (isRange) {
+ if (isMetric.value) {
+ return !isSourceMetric
+ }
+ return true
+ }
+ return false
})
const mouseover = () => {
@@ -237,11 +245,29 @@ const mouseout = () => {
}
const columnSelect = (option: any) => {
+ const dataType = option.dataType
+ const hasTypeChange = dataType !== tabsOptions.value[0].component
+ let termTypeChange = false
+ // 如果参数类型未发生变化,则不修改操作符以及值
const termTypes = option.termTypes
- paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
- paramsValue.value = {
- source: tabsOptions.value[0].key,
- value: undefined
+ if (!termTypes.some((item: {id: string}) => paramsValue.termType === item.id)) { // 修改操作符
+ termTypeChange = true
+ paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
+ }
+
+ if (hasTypeChange) { // 类型发生变化
+ paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
+ paramsValue.value = {
+ source: tabsOptions.value[0].key,
+ value: undefined
+ }
+ } else if (termTypeChange) {
+ const oldValue = isArray(paramsValue.value!.value) ? paramsValue.value!.value[0] : paramsValue.value!.value
+ const value = arrayParamsKey.includes(paramsValue.termType as string) ? [ oldValue, undefined ] : oldValue
+ paramsValue.value = {
+ source: paramsValue.value?.source || tabsOptions.value[0].key,
+ value: value
+ }
}
handOptionByColumn(option)
emit('update:value', { ...paramsValue })
@@ -254,7 +280,7 @@ const termsTypeSelect = (e: { key: string, name: string }) => {
const oldValue = isArray(paramsValue.value!.value) ? paramsValue.value!.value[0] : paramsValue.value!.value
const value = arrayParamsKey.includes(e.key) ? [ oldValue, undefined ] : oldValue
paramsValue.value = {
- source: tabsOptions.value[0].key,
+ source: paramsValue.value?.source || tabsOptions.value[0].key,
value: value
}
emit('update:value', { ...paramsValue })
@@ -263,7 +289,7 @@ const termsTypeSelect = (e: { key: string, name: string }) => {
}
-const valueSelect = (_: any, label: string, labelObj: Record) => {
+const valueSelect = (v: any, label: string, labelObj: Record) => {
emit('update:value', { ...paramsValue })
formItemContext.onFieldChange()
formModel.value.options!.when[props.branchName].terms[props.whenName].terms[props.name][2] = labelObj
@@ -278,7 +304,7 @@ const termAdd = () => {
const terms = {
column: undefined,
value: {
- source: 'fixed',
+ source: 'manual',
value: undefined
},
termType: undefined,
diff --git a/src/views/rule-engine/Scene/Save/components/Terms/WhenItem.vue b/src/views/rule-engine/Scene/Save/components/Terms/WhenItem.vue
index e31f07da..a30e5528 100644
--- a/src/views/rule-engine/Scene/Save/components/Terms/WhenItem.vue
+++ b/src/views/rule-engine/Scene/Save/components/Terms/WhenItem.vue
@@ -97,7 +97,7 @@ const addWhen = () => {
{
column: undefined,
value: {
- source: 'fixed',
+ source: 'manual',
value: undefined
},
termType: undefined,
diff --git a/yarn.lock b/yarn.lock
index 1a3e9019..12ea964d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3700,8 +3700,8 @@ jetlinks-store@^0.0.3:
jetlinks-ui-components@^1.0.5:
version "1.0.5"
- resolved "http://47.108.170.157:9013/jetlinks-ui-components/-/jetlinks-ui-components-1.0.5.tgz#531a7cd5cc4069dc299f0efcc92411a4eee369e7"
- integrity sha512-7VHsz5lVG9PlFkHoJvEown4QARuVuasR+jDa9NNQ+pJSHAtHAeiIO1bpVTQKfE5WCyhCKPnN8yIerJLLzmQ1fA==
+ resolved "http://47.108.170.157:9013/jetlinks-ui-components/-/jetlinks-ui-components-1.0.5.tgz#031a300df4df31a353d738cacee8b4ff630ae2d0"
+ integrity sha512-SfucQ7LzlE13VdyZsDhrhzwF9Le/NOke5F6UY3bNN1OJiRD/bZMJecGQxWBQGv567lKcV60SOPCMT8ExiZxUgw==
dependencies:
"@vueuse/core" "^9.12.0"
ant-design-vue "^3.2.15"