林火综合应急信息管理系统前端
guoshilong
2023-03-08 0b552eaf6d2ed42e1cd6b283ac5ac3d2b0b05fbe
src/views/fire/fireAdd.vue
@@ -5,20 +5,27 @@
        <avue-form ref="form" v-model="form" :option="option" @submit="submit"></avue-form>
      </el-col>
      <el-col :span="12">
        <OpenLayersMap ref="olMap" @getMapData="getMapData" :map-location="mapLocation"></OpenLayersMap>
<!--        <avue-input-map v-model="form"></avue-input-map>-->
      </el-col>
    </el-row>
  </basic-container>
</template>
<script>
import axios from '@/router/axios';
import {add} from "@/api/fire/fire";
import OpenLayersMap from "@/components/OpenLayersMap/index";
import axios from "@/router/axios"
export default {
  name: "fireAdd",
  components: {OpenLayersMap},
  data() {
    let baseUrl = '/api/blade-system/region/lazy-tree?parentCode='
    return {
      form:{},
      mapLocation:{
        isDetail:false
      },
      option: {
        column: [
          {
@@ -36,7 +43,7 @@
              label: 'title',
              value: 'key'
            },
            separator:'',
            separator: '',
            lazy: true,
            lazyLoad(node, resolve) {
              let stop_level = 2;
@@ -56,7 +63,7 @@
                  list = res.data.data;
                  callback()
                })
              }else if (level == 1) {
              } else if (level == 1) {
                axios.get(`${baseUrl}${code}`).then(res => {
                  list = res.data.data;
                  callback()
@@ -66,7 +73,7 @@
                  list = res.data.data;
                  callback()
                })
              }else{
              } else {
                callback()
              }
            }
@@ -126,7 +133,8 @@
            label:'火灾描述',
            prop:'description',
            span:24,
            type:'textarea'
            type:'textarea',
            minRows:3,
          },
          {
            label: '现场图片',
@@ -146,6 +154,15 @@
  },
  mounted() {
  },
  watch:{
    "form.location":{
      handler(newVal){
        if (newVal){
          this.$refs.olMap.getLocation(newVal)
        }
      }
    }
  },
  methods: {
    submit(form,done){
      add(form).then(res=>{
@@ -155,6 +172,7 @@
            message: "操作成功!"
          });
          this.$refs.form.resetForm()
          this.$refs.olMap.clearDraw()
          done();
        }else {
          this.$message({
@@ -163,7 +181,15 @@
          });
          done();
        }
      })
      }),error=>{
        window.console.log(error);
        done();
      }
    },
    //获取地图经纬度
    getMapData(data){
      this.form.lon = data[0][0]
      this.form.lat = data[0][1]
    }
  }
}