|
@@ -10,17 +10,7 @@
|
|
|
</div>
|
|
|
<div class="container-main mt15">
|
|
|
<div class="container-item container__label">站号:
|
|
|
- <el-select v-model="as_code_list" @change="changeCodeList" collapse-tags filterable placeholder="请搜索自动站" remote reserve-keyword clearable style="width: 200px">
|
|
|
- <el-option
|
|
|
- v-for="item in platformList"
|
|
|
- :key="item.as_code"
|
|
|
- :label="item.as_code"
|
|
|
- :value="item.as_code"
|
|
|
- />
|
|
|
- <template #prefix>
|
|
|
- <el-icon class="el-input__icon"><search /></el-icon>
|
|
|
- </template>
|
|
|
- </el-select>
|
|
|
+ <SelectItem :select-data="selectedData" :select-list="platformList" :is-checkbox="true" @update:selectedItems="selectedItems" style="width: 200px"> </SelectItem>
|
|
|
</div>
|
|
|
<div class="container-item container__label">名称:{{selectedItem.as_name?selectedItem.as_name:'--'}}</div>
|
|
|
<div class="container-item container__label">观测时间:{{processTableFrom.data_time?processTableFrom.data_time:'--'}}</div>
|
|
@@ -173,7 +163,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
@@ -181,13 +170,11 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
+import SelectItem from "@/components/SelectItem/index.vue";
|
|
|
import img0 from "@/assets/images/single/0.png"
|
|
|
import img100 from "@/assets/images/single/100.png"
|
|
|
import img200 from "@/assets/images/single/200.png"
|
|
@@ -207,9 +194,10 @@ import img1500 from "@/assets/images/single/1500.png"
|
|
|
import img1600 from "@/assets/images/single/1600.png"
|
|
|
import img1700 from "@/assets/images/single/1700.png"
|
|
|
import {getPlatformList, getQuerCertList, getStaitemList, getYallSensorList} from "@/api/modules/allData";
|
|
|
-import {onMounted, reactive, ref} from "vue";
|
|
|
+import {computed, onMounted, reactive, ref} from "vue";
|
|
|
import {Platform} from "@/api/interface";
|
|
|
import {ColumnProps} from "@/components/ProTable/interface";
|
|
|
+import {useUserStore} from "@/stores/modules/user";
|
|
|
const radio1 =ref('1');
|
|
|
const getCustomImg = (iconName: string) => {
|
|
|
const icons = {
|
|
@@ -237,18 +225,49 @@ const getCustomImg = (iconName: string) => {
|
|
|
|
|
|
// 表格配置项
|
|
|
const columns = reactive<ColumnProps[]>([
|
|
|
- { prop: "a", label: "状态"},
|
|
|
- { prop: "b", label: "状态值"},
|
|
|
- { prop: "c", label: "备注" },
|
|
|
+ { prop: "sta_name", label: "状态"},
|
|
|
+ { prop: "sta_value", label: "状态值"},
|
|
|
+ { prop: "sta_remark", label: "备注" },
|
|
|
]);
|
|
|
|
|
|
|
|
|
-const handlePlatform = (item)=>{
|
|
|
- radio1.value = '1'
|
|
|
- itemData.value = item
|
|
|
- dialog2.visible = true
|
|
|
- dialog2.title = '传感器信息'
|
|
|
-}
|
|
|
+const handlePlatform = (item) => {
|
|
|
+ if (!item || typeof item !== 'object') {
|
|
|
+ console.error('Invalid item provided');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ radio1.value = '1';
|
|
|
+ itemData.value = item;
|
|
|
+ dialog2.visible = true;
|
|
|
+ dialog2.title = '传感器信息';
|
|
|
+
|
|
|
+ processTableData2.value = [];
|
|
|
+
|
|
|
+ const { se_type } = item;
|
|
|
+ if (se_type === undefined || se_type === null) {
|
|
|
+ console.error('Invalid se_type in item');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ switch (se_type) {
|
|
|
+ case 0:
|
|
|
+ processTableData2.value = processTableFrom.value?.sta_yclq || [];
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ processTableData2.value = processTableFrom.value?.sta_txmk || [];
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ console.log(se_type);
|
|
|
+ const result = processTableFrom.value?.sta_list?.find(obj => obj.id === se_type.toString());
|
|
|
+ if (result) {
|
|
|
+ processTableData2.value = result.item || [];
|
|
|
+ } else {
|
|
|
+ console.warn(`No matching entry found for se_type: ${se_type}`);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+};
|
|
|
|
|
|
const itemData= ref({})
|
|
|
|
|
@@ -476,20 +495,27 @@ const updateColumns = () => {
|
|
|
const as_code_list = ref('')
|
|
|
const selectedItem =ref({})
|
|
|
|
|
|
-const changeCodeList =(value)=>{
|
|
|
- if(value){
|
|
|
- selectedItem.value = platformList.value.find(item => item.as_code === value);
|
|
|
- pageable.value.as_code_list = [value]
|
|
|
- querCert.value.asCode = value
|
|
|
- getList()
|
|
|
- getCertList()
|
|
|
+
|
|
|
+//搜索站号
|
|
|
+const selectedData= ref([])
|
|
|
+const selectedItems =(data)=>{
|
|
|
+ if(data.length>0){
|
|
|
+ pageable.value.as_code_list = data
|
|
|
+ const firstCode = data[0] ?? null;
|
|
|
+ selectedItem.value = platformList.value.find(item => item.as_code === firstCode);
|
|
|
+ querCert.value.asCode = firstCode
|
|
|
}else {
|
|
|
- selectedItem.value= {}
|
|
|
- pageable.value.as_code_list= []
|
|
|
- processTableFrom.value = {}
|
|
|
+ const firstCode = platformList.value[0]?.as_code ?? null;
|
|
|
+ pageable.value.as_code_list = firstCode ? [firstCode] : [];
|
|
|
+ selectedItem.value = platformList.value.find(item => item.as_code === firstCode);
|
|
|
+ querCert.value.asCode = firstCode
|
|
|
+ selectedData.value = [firstCode]
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
+ getList()
|
|
|
+ getCertList()
|
|
|
+
|
|
|
+};
|
|
|
|
|
|
const cancel = () => {
|
|
|
dialog.visible = false;
|
|
@@ -521,21 +547,17 @@ function loadCustomizeColumns() {
|
|
|
}
|
|
|
|
|
|
|
|
|
-const platformList =ref<any>([])
|
|
|
-// 查询自动站列表
|
|
|
-const queryas = ref<Platform>({
|
|
|
- pageSize: 10000,
|
|
|
- pageNum: 1
|
|
|
-})
|
|
|
+const userStore = useUserStore();
|
|
|
+const platformList =ref<any>(computed(() => userStore.stations))
|
|
|
|
|
|
const getPlatforms = async () => {
|
|
|
- const { data } = await getPlatformList(queryas.value);
|
|
|
- platformList.value = data.list
|
|
|
if (platformList.value .length > 0) {
|
|
|
- selectedItem.value= platformList.value[0]
|
|
|
- as_code_list.value = platformList.value[0].as_code;
|
|
|
- pageable.value.as_code_list = [as_code_list.value]
|
|
|
- querCert.value.asCode = as_code_list.value
|
|
|
+ const firstCode = platformList.value[0]?.as_code ?? null;
|
|
|
+ pageable.value.as_code_list = firstCode ? [firstCode] : [];
|
|
|
+ selectedItem.value = platformList.value.find(item => item.as_code === firstCode);
|
|
|
+ as_code_list.value = firstCode;
|
|
|
+ querCert.value.asCode = firstCode
|
|
|
+ selectedData.value = [firstCode]
|
|
|
await getList()
|
|
|
await getCertList()
|
|
|
}
|