From 3832a82fb79d4cec4cca5e2854e54953f2095ef8 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 06 九月 2024 16:55:08 +0800 Subject: [PATCH] 1. 添加溯源清单功能 2. 修复切换至走航监测界面后,之前正在加载的历史数据依旧展示至地图的问题 3. 添加折线图下载图片功能; 4. 添加数据导出功能; 5. 添加设备管理功能; 6. 添加数据弹框和溯源清单开关功能; 7. 优化3D里面的颜色展示逻辑,底部颜色由原来的因子最小值颜色改为当前量级的上一个量级对应的颜色 --- src/components/search/OptionDevice.vue | 46 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 35 insertions(+), 11 deletions(-) diff --git a/src/components/search/OptionDevice.vue b/src/components/search/OptionDevice.vue index d63fe7c..d5a4d43 100644 --- a/src/components/search/OptionDevice.vue +++ b/src/components/search/OptionDevice.vue @@ -2,13 +2,13 @@ <el-form-item label="璁惧"> <el-select :model-value="modelValue" - @change="handleChange" + @update:model-value="handleChange" placeholder="璁惧" size="small" class="w-120" > <el-option - v-for="(s, i) in deviceList" + v-for="(s, i) in deviceOptions" :key="i" :label="s.label" :value="s.value" @@ -18,6 +18,10 @@ </template> <script> +import { deviceList } from '@/constant/device-type'; +import { mapStores } from 'pinia'; +import { useDeviceStore } from '@/stores/device'; + export default { props: { type: String, @@ -28,31 +32,51 @@ return {}; }, computed: { - deviceList() { - const t = this.type ? this.type : '0a'; - return [1, 2, 3].map((v) => { - const text = `${t}000000000${v}`; + ...mapStores(useDeviceStore), + deviceOptions() { + return this.deviceStore.getDevice(this.type).map((v) => { return { - label: text, - value: text + label: v.deviceName, + value: v.deviceCode }; }); } }, watch: { - deviceList(nV, oV) { + // type(nV, oV) { + // if (nV != oV) { + // this.refreshOptions(); + // } + // } + deviceOptions(nV, oV) { if (nV != oV) { - this.handleChange(nV[0].value); + if (nV.length > 0) { + this.handleChange(nV[0].value); + } } } }, methods: { + fetchDevice() { + this.deviceStore.fetchDevice().then((res) => { + if (res.success && res.data.length > 0) { + this.handleChange(this.deviceOptions[0].value); + } + }); + }, + // refreshOptions() { + // this.deviceOptions = + // }, handleChange(value) { this.$emit('update:modelValue', value); } }, mounted() { - this.handleChange(this.deviceList[0].value); + if (this.deviceStore.deviceList.length == 0) { + this.fetchDevice(); + } else { + this.handleChange(this.deviceOptions[0].value); + } } }; </script> -- Gitblit v1.9.3