From dd2ff26f240bcb79de082f1de4eaf6d2c973b28e Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期一, 20 十月 2025 08:38:01 +0800
Subject: [PATCH] 2025.10.18 修改嫉妒报告生成逻辑
---
src/components/monitor/FactorRadio.vue | 66 ++++++++++++++++++++++++++++----
1 files changed, 57 insertions(+), 9 deletions(-)
diff --git a/src/components/monitor/FactorRadio.vue b/src/components/monitor/FactorRadio.vue
index c686f68..e133e8e 100644
--- a/src/components/monitor/FactorRadio.vue
+++ b/src/components/monitor/FactorRadio.vue
@@ -1,11 +1,32 @@
<template>
- <BaseCard>
+ <transition
+ name="el-zoom-in-left"
+ @before-enter="onBeforeEnter"
+ @after-leave="onAfterLeave"
+ >
+ <BaseCard v-show="show" direction="left">
+ <template #content>
+ <!-- <el-collapse-transition> -->
+ <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>
+ </el-radio-group>
+ <!-- </el-collapse-transition> -->
+ <span @click="show = !show" class="btn-show">
+ <el-icon v-if="show"><ArrowLeftBold /></el-icon>
+ <el-icon v-else><ArrowRightBold /></el-icon>
+ </span>
+ </template>
+ </BaseCard>
+ </transition>
+ <BaseCard v-show="btnShow">
<template #content>
- <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>
- </el-radio-group>
+ <el-row @click="show = !show" class="btn-show">
+ <font-awesome-icon icon="fa-check-circle" />
+ <el-icon v-if="show"><ArrowLeftBold /></el-icon>
+ <el-icon v-else><ArrowRightBold /></el-icon>
+ </el-row>
</template>
</BaseCard>
</template>
@@ -17,16 +38,22 @@
export default {
props: {
+ modelValue: {
+ type: String,
+ default: defaultOptions(TYPE0).value
+ },
deviceType: {
type: String,
// type0: 杞﹁浇鎴栨棤浜烘満; type1:鏃犱汉鑸�
default: TYPE0
}
},
- emits: ['change'],
+ emits: ['change', 'update:modelValue'],
data() {
return {
- radio: defaultOptions(TYPE0).value
+ radio: defaultOptions(TYPE0).value,
+ show: true,
+ btnShow: false
};
},
computed: {
@@ -38,6 +65,12 @@
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;
}
}
},
@@ -45,16 +78,31 @@
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鍥惧儚鍒囨崲灞曠ず鐩戞祴鍥犲瓙
+ },
+ onBeforeEnter() {
+ this.btnShow = false;
+ },
+ onAfterLeave() {
+ this.btnShow = true;
}
}
};
</script>
<style scoped>
-.el-radio {
+:deep(.el-radio) {
--el-radio-text-color: white;
--el-color-primary: #23dad1;
margin-right: 10px;
height: initial;
}
+
+.btn-show {
+ cursor: pointer;
+ padding: 4px 0;
+}
+.btn-show:hover {
+ color: #23dad1;
+}
</style>
--
Gitblit v1.9.3