dropPointinfo.vue 6.5 KB
<template>
  <div>
    <div v-loading="loading" style="border: 1px solid black;">
      <el-form ref="form" :model="infoData" label-width="128px">

        <el-form-item label="投放点编号" prop="dropPointNo">
          <el-input v-model="infoData.dropPointNo" placeholder="请输入投放点编号" :disabled="true"/>
        </el-form-item>

        <el-form-item label="投放点名称" prop="dropPointName">
          <el-input v-model="infoData.dropPointName" placeholder="请输入投放点名称" :disabled="true"/>
        </el-form-item>

        <el-form-item label="所属区域" prop="district">
          <el-input v-model="infoData.district" placeholder="请输入投放点名称" :disabled="true"/>
        </el-form-item>

        <el-form-item label="所属街道" prop="street">
          <el-input v-model="infoData.street" placeholder="请输入投放点名称" :disabled="true"/>
        </el-form-item>

        <el-form-item label="社区" prop="community">
          <el-input v-model="infoData.community" placeholder="请输入社区" :disabled="true"/>
        </el-form-item>


        <el-form-item label="详细地址" prop="address">
          <el-input v-model="infoData.address" placeholder="请输入详细地址" :disabled="true"/>
        </el-form-item>

        <el-form-item label="投放点形式" prop="type">
          <el-select v-model="infoData.type" placeholder="请选择投放点形式" :disabled="true" style="width: 100%">
            <el-option label="固定" value="固定"/>
            <el-option label="临时" value="临时"/>
          </el-select>
        </el-form-item>

        <el-form-item label="投放点面积(m²)" prop="area" :disabled="true">
          <el-input v-model="infoData.area" placeholder="请输入投放点面积" :disabled="true"/>
        </el-form-item>

        <el-form-item label="投放点容量(m³)" prop="capacity">
          <el-input v-model="infoData.capacity" placeholder="请输入投放点容量" :disabled="true"/>
        </el-form-item>

        <el-form-item label="管理单位" prop="managementUnit">
          <el-input v-model="infoData.managementUnit" placeholder="请输入管理单位" :disabled="true"/>
        </el-form-item>

        <el-form-item label="管理人" prop="custodian">
          <el-input v-model="infoData.custodian" placeholder="请输入管理人" :disabled="true"/>
        </el-form-item>

        <el-form-item label="管理员电话" prop="custodianPhone">
          <el-input v-model="infoData.custodianPhone" placeholder="请输入管理员联系电话" :maxlength="11" show-word-limit :disabled="true"/>
        </el-form-item>

        <el-form-item label="投放时间" prop="dropTime">
          <el-time-select
            v-model="infoData.dropTime"
            style="width: 100%"
            :picker-options="{
                    start: '00:00',
                    step: '00:30',
                    end: '23:30'
                  }"
            :disabled="true"
            placeholder="选择时间">
          </el-time-select>
        </el-form-item>

        <el-form-item label="运营单位" prop="operatingUnit">
          <el-input v-model="infoData.operatingUnit" placeholder="请输入运营单位" :disabled="true" />
        </el-form-item>

        <el-form-item label="运输单位" prop="transportUnit">
          <el-input v-model="infoData.transportUnit" placeholder="请输入运输单位" :disabled="true"/>
        </el-form-item>

        <el-form-item label="坐标点" prop="coordinatePoint">
          <el-input v-model="infoData.coordinatePoint" placeholder="请输入坐标点经纬度"  :disabled="true"/>
        </el-form-item>
        <!--            <el-button type="primary" @click="handleOpenMap">坐标点</el-button>-->

      </el-form>
    </div>
  </div>
</template>

<script>


import store from "@/store";
import {
  getToken
} from "@/utils/auth";
import {
  listDropPointInfo,
  getDropPointInfo,
  delDropPointInfo,
  addDropPointInfo,
  updateDropPointInfo,
  exportDropPointInfo
} from "@/api/unit/dropPointInfo";
import {getAreaList} from "@/api/dict"




export default {
  name: "dropPointinfo",
  props: {
    businessKey: {
      type: String
    },
  },
  data() {
    return {
      sign: store.getters.avatar, //裁剪图片的地址
      areas: [],
      loading: null,
      infoData: {},
      dicts:null,
      showPic:false,
      picImage:null,
    }
  },
  created() {
    getAreaList().then(response => {
      if(response==null || response.length===0){
        this.$message.error("获取区域列表失败");
        return;
      }
      const data = response;
      for (let dataKey in data) {
        if(data[dataKey].level === '3'){
          this.areas.push({name:data[dataKey].name,code:data[dataKey].id, streets:[]})
        }
      }
      for(let dataKey in data){
        for(let areas1Key in this.areas){
          if(data[dataKey].pid === this.areas[areas1Key].code){
            this.areas[areas1Key].streets.push({code:data[dataKey].id, name:data[dataKey].name})
          }
        }
      }
    });
    this.loading = true;
    this.getInfo();

  },
  methods: {
    dict(code) {
      for (let key in this.areas) {
        if (this.areas[key].code === code) {
          return this.areas[key].name;
        }
      }
    },
    dictInfo(code) {
      for (let key in this.areas) {
        for (let keyInfo in this.areas[key].streets) {
          if (this.areas[key].streets[keyInfo].code === code) {
            return this.areas[key].streets[keyInfo].name;
          }
        }
      }
    },
    getInfo() {
      let id;
      if (this.businessKey.split(":").length == 2) {
        id = this.businessKey.split(":")[1];
      } else {
        id = this.businessKey;
      }

      getDropPointInfo(id).then(response => {

        this.infoData = response.data;
        this.infoData.street = this.dictInfo(this.infoData.street);
        this.infoData.district = this.dict(this.infoData.district);
        // getArea().then(res => {
        //   this.areas = res.result;
        //   this.loading = false;
        //   for (let i = 0; i < this.areas.length; i++) {
        //     if (Number(this.infoData.place) == this.areas[i].code) {
        //       this.infoData.place = this.areas[i].name;
        //     }
        //   }
        // });

        // for(let i in obj){
        //   if(this.objectDict[i]){
        //       this.infoData.push({label:this.objectDict[i] ,value:obj[i]})
        //   }
        // }
        this.loading = false;
      });
    },
  }

}
</script>
<style>
.bd{
  padding:5px;
}



</style>