| | |
| | | </el-switch> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isSzdt"> |
| | | <el-form-item label="地铁线路"> |
| | | <el-select size="mini" v-model="params.stationName9" @change="subwayLineChange"> |
| | | <el-option label="无" value=""></el-option> |
| | | <el-option |
| | | v-for="(item, key) in subwayLines" :key="'key'+key" |
| | | :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="layout.span" v-if="isSzdt"> |
| | | <el-form-item label="地铁站点名称"> |
| | | <el-select size="mini" v-model="params.stationName8"> |
| | | <el-option label="无" value=""></el-option> |
| | | <el-option |
| | | v-for="(item, key) in subwayStations" :key="'key'+key" |
| | | :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="16" v-if="tabList.length"> |
| | | <el-form-item label="实时监控标签"> |
| | | <el-select v-model="tabValue" multiple placeholder="请选择"> |
| | |
| | | searchCounty, |
| | | getExistStations, |
| | | } from "@/assets/js/api.js"; |
| | | import systemConfig from '@/assets/js/config'; |
| | | import { searchTplAll } from "../js/eletmp"; |
| | | import { searchBattProducer, add, getMaxIp, dfBmsDevicesAPI } from "../js/battGroupMager"; |
| | | import { |
| | |
| | | trigger: "change", |
| | | }; |
| | | return { |
| | | clientName: systemConfig.clientName.name, |
| | | jsonData: {}, |
| | | bmsList: [], |
| | | tabValue: [], |
| | | tabList: [], |
| | | layout: { |
| | | span: 8, |
| | | span: 6, |
| | | gutter: 16, |
| | | }, |
| | | params: { |
| | |
| | | commPort: 102, // 连接端口 |
| | | labelCfg: '', // 实时监控的标签,使用,分隔的字符串 |
| | | deviceId: '', // BMS设备ID |
| | | stationName9: '', // 地铁线路名称 |
| | | stationName8: '', // 地铁站点名称 |
| | | }, |
| | | signTypes: const_61850.signTypes, |
| | | tmpList: [], |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | async getJson() { |
| | | const dynamicPath = `mapJson/subway/suzhou1.json`; |
| | | try { |
| | | const response = await fetch(dynamicPath); |
| | | if (!response.ok) { |
| | | throw new Error(`HTTP error! status: ${response.status}`); |
| | | } |
| | | const data = await response.json(); |
| | | // console.log("data", data, "============="); |
| | | // this.defaultData = data.l; |
| | | return data; |
| | | } catch (error) { |
| | | console.error("加载 JSON 出错:", error); |
| | | } |
| | | }, |
| | | subwayLineChange() { |
| | | this.params.stationName8 = ""; |
| | | }, |
| | | sortTabList(tabValue, tabList) { |
| | | let result = []; |
| | | for(let i=0; i<tabList.length; i++) { |
| | |
| | | }, |
| | | }, |
| | | computed: { |
| | | isSzdt() { |
| | | return this.clientName === "szdt"; |
| | | }, |
| | | subwayLines() { |
| | | let jsonData = this.jsonData; |
| | | let list = []; |
| | | if(jsonData.l) { |
| | | list = jsonData.l.map(item=>{ |
| | | return { |
| | | label: item.ln, |
| | | value: item.ln, |
| | | } |
| | | }) |
| | | } |
| | | return list; |
| | | }, |
| | | subwayStations() { |
| | | let list = []; |
| | | let jsonData = this.jsonData; |
| | | if(jsonData.l) { |
| | | for(let i=0; i<jsonData.l.length; i++) { |
| | | let itemData = jsonData.l[i]; |
| | | if(itemData.ln === this.params.stationName9) { |
| | | list = itemData.st.map(item=>{ |
| | | return { |
| | | label: item.n, |
| | | value: item.n |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | return list; |
| | | }, |
| | | isInversion() { |
| | | let dev_id = this.params.fbsdeviceId; |
| | | return regEquipType(dev_id, ["BTS9120", 'fbo6187']); |
| | |
| | | return isLithiumPack ? "锂电池包单体个数" : "单体个数"; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | async mounted() { |
| | | // 设置省市区县的数据 |
| | | this.linkagePlus.setData(const_province_city_county); |
| | | // 初始化值 |
| | |
| | | this.handleDevTypeChange(); |
| | | |
| | | this.dfBmsDevices(); |
| | | |
| | | this.jsonData = await this.getJson(); |
| | | }, |
| | | }; |
| | | </script> |