From 30cf71affd5149a1310d84f658b028d267beee8b Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 11 六月 2025 17:30:22 +0800 Subject: [PATCH] 动态溯源(编写中) --- src/components/monitor/FactorRadio.vue | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/components/monitor/FactorRadio.vue b/src/components/monitor/FactorRadio.vue index f77cf2f..e95e72d 100644 --- a/src/components/monitor/FactorRadio.vue +++ b/src/components/monitor/FactorRadio.vue @@ -1,7 +1,7 @@ <template> <BaseCard> <template #content> - <el-radio-group v-model="radio"> + <el-radio-group v-model="radio" size="default" @change="handleChange"> <el-radio v-for="(item, i) in options" :key="i" :value="item.value">{{ item.label }}</el-radio> @@ -12,13 +12,60 @@ <script> // 鐩戞祴鍥犲瓙鍗曢�夋 -import { radioOptions } from '@/constant/radio-options'; +import { radioOptions, defaultOptions } from '@/constant/radio-options'; +import { TYPE0 } from '@/constant/device-type'; + export default { + props: { + modelValue: { + type: String, + default: defaultOptions(TYPE0).value + }, + deviceType: { + type: String, + // type0: 杞﹁浇鎴栨棤浜烘満; type1:鏃犱汉鑸� + default: TYPE0 + } + }, + emits: ['change', 'update:modelValue'], data() { return { - radio: radioOptions.type0[0].value, - options: radioOptions.type0 + radio: defaultOptions(TYPE0).value }; + }, + computed: { + options() { + return radioOptions(this.deviceType); + } + }, + watch: { + deviceType(nV, oV) { + if (nV != oV) { + this.radio = this.options[0].value; + this.$emit('update:modelValue', this.radio) + } + }, + modelValue(nV, oV){ + if (nV != oV) { + this.radio = nV + } + } + }, + methods: { + handleChange(value) { + const item = this.options.find((v) => v.value == value); + this.$emit('change', item.value, item); + this.$emit('update:modelValue', item.value) + // todo 鍦板浘3d鍥惧儚鍒囨崲灞曠ず鐩戞祴鍥犲瓙 + } } }; </script> +<style scoped> +.el-radio { + --el-radio-text-color: white; + --el-color-primary: #23dad1; + margin-right: 10px; + height: initial; +} +</style> -- Gitblit v1.9.3