whychdw
2025-05-13 07d36c1f6f0398f56769ce88c89dc2a87f03fa8a
src/views/dataMager/components/EditBattGroup.vue
@@ -312,7 +312,7 @@
        </el-col>
        <el-col :span="layout.span">
          <el-form-item label="验签格式">
            <el-select v-model="params.signType" placeholder="请选择">
            <el-select size="mini" v-model="params.signType" placeholder="请选择">
              <el-option
                v-for="item in signTypes"
                :key="item.value"
@@ -325,7 +325,7 @@
        </el-col>
        <el-col :span="layout.span">
          <el-form-item label="通信端口号">
            <el-input v-model="params.commPort"></el-input>
            <el-input size="mini" v-model="params.commPort"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="layout.span" v-if="isDfBms">
@@ -341,12 +341,33 @@
          <el-form-item label="交直流监控屏启用">
            <el-switch
              v-model="acdcSecuityFlag"
              size="mini"
              active-color="#13ce66"
              inactive-color="#aaa"
              active-text="启用"
              inactive-text="关闭"
            >
            </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">
@@ -531,7 +552,7 @@
  const_61850,
  const_devType,
} from "@/assets/js/const";
import systemConfig from '@/assets/js/config';
import { searchProvince, searchCity, searchCounty } from "@/assets/js/api.js";
import { searchTplAll } from "../js/eletmp";
import { searchBattProducer, edit } from "../js/battGroupMager";
@@ -559,13 +580,15 @@
      trigger: "change",
    };
    return {
      clientName: systemConfig.clientName.name,
      jsonData: {},
      bmsList: [],
      tabValue: [],
      tabList: [],
      reasonVisible: false,
      updateReason: "",
      layout: {
        span: 8,
        span: 6,
        gutter: 16,
      },
      params: {
@@ -629,6 +652,8 @@
        commPort: 102,    // 连接端口
        labelCfg: '',     // 实时监控的标签,使用,分隔的字符串
        deviceId: '',     // BMS设备ID
        stationName9: '',       // 地铁线路名称
        stationName8: '',       // 地铁站点名称
      },
      signTypes: const_61850.signTypes,
      rules: {
@@ -938,6 +963,24 @@
    },
  },
  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++) {
@@ -1342,6 +1385,40 @@
    },
  },
  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");
@@ -1371,7 +1448,7 @@
      return regEquipType(dev_id, ["dfBms"]);
    },
  },
  mounted() {
  async mounted() {
    // 设置省市区县的数据
    this.linkagePlus.setData(const_province_city_county);
@@ -1388,6 +1465,8 @@
    this.searchTplAll();
    this.handleDevTypeChange();
    this.jsonData = await this.getJson();
  },
};
</script>