liyg 3 years ago
parent
commit
6b3fecb70a

+ 2 - 2
config/index.js

@@ -64,14 +64,14 @@ let proxyTable = {
   },
   },
   // 所有数据的请求域名地址
   // 所有数据的请求域名地址
   "/api/v1": {
   "/api/v1": {
-    target: "http://localhost:8019",
+    target: "http://localhost:8080",
     ws: true,
     ws: true,
     pathRewrite: {
     pathRewrite: {
       "^/api/v1": "/api/v1"
       "^/api/v1": "/api/v1"
     }
     }
   },
   },
   "/views/api/v1": {
   "/views/api/v1": {
-    target: "http://localhost:8019",
+    target: "http://localhost:8080",
     // target: "http://192.168.1.109:8080",
     // target: "http://192.168.1.109:8080",
     ws: true,
     ws: true,
     pathRewrite: {
     pathRewrite: {

+ 21 - 0
src/views/appoint/components/ship/addDeliveryNotice.vue

@@ -412,6 +412,27 @@ export default {
         this.$message.warning("电话号码或传真格式不正确");
         this.$message.warning("电话号码或传真格式不正确");
         return;
         return;
       }
       }
+      if (
+        typeof map.noticePortConstructionFee != "undefined" &&
+        !isNumber(map.noticePortConstructionFee)
+      ) {
+        this.$message.error("港建费金额得为数字");
+        return;
+      }
+      if (
+        typeof map.purchaseContractMoisture != "undefined" &&
+        !isNumber(map.purchaseContractMoisture)
+      ) {
+        this.$message.error("合同水分得为数字");
+        return;
+      }
+      if (
+        typeof map.noticePortConstructionFee != "undefined" &&
+        !isNumber(map.noticePortConstructionFee)
+      ) {
+        this.$message.error("港建费金额得为数字");
+        return;
+      }
       if (
       if (
         typeof map.noticePileFreeDays != "undefined" &&
         typeof map.noticePileFreeDays != "undefined" &&
         !isNumber(map.noticePileFreeDays)
         !isNumber(map.noticePileFreeDays)

+ 292 - 0
src/views/sale/components/offSiteTransportation/paintVertexTest.vue

@@ -0,0 +1,292 @@
+<template>
+  <div class="container">
+    <div id="amap-container"></div>
+    <div class="controller">
+      <div class="in_transit_information">
+        <span class="item_details">起始点:</span>
+        <el-select v-model="startPoint" style="width: 150px;" class="inputStyle" filterable placeholder="请选择起点">
+          <el-option
+            v-for="item in vertexs"
+            :key="item.vertexId"
+            :label="item.addressName"
+            :value="item.vertexId">
+          </el-option>
+        </el-select>
+        <!--<el-input style="width: 120px;" class="inputStyle" v-model.trim="startPoint"> </el-input>-->
+        <span class="item_details">终点:</span>
+        <el-select v-model="endPoint" style="width: 150px;" class="inputStyle" filterable placeholder="请选择终点">
+         <el-option
+            v-for="item in vertexs"
+            :key="item.vertexId"
+            :label="item.addressName"
+            :value="item.vertexId">
+          </el-option>
+        </el-select>
+        <!--<el-input style="width: 120px;" class="inputStyle" v-model.trim="endPoint"> </el-input>-->
+        <el-button type="primary" class="searchstyle" @click="initData2">查询</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import { shallowRef } from "@vue/reactivity";
+import { lazyAMapApiLoaderInstance } from "vue-amap";
+import { sjTime, stringToDate } from "@/utils/sharedJsFile";
+import Slider from "./slider.vue";
+Vue.use(Slider);
+import Vue from "vue";
+export default {
+  name: "PathView",
+  setup() {
+    const map = shallowRef(null);
+    return {
+      map
+    };
+  },
+ 
+  data() {
+    return {
+      lineList:[],
+      startPoint:"",
+      endPoint:"",
+      //地图组件
+      map:null,
+      //顶点
+      vertexs:"",
+    };
+  },
+  created() {
+    let that =this;
+    that.initMap(105.602725,37.076636);
+  },
+  mounted() {},
+  methods: {
+    //初始化数据
+    initData() {
+      let that = this;
+      that.axios
+        .get("/api/v1/otms/mapvertexs/findAllAvailableVertex")
+        .then(res => {
+          console.log(res);
+          that.vertexs=res.data.data;
+          console.log(that.vertexs);
+          that.map.setCenter([res.data.data[0].longitude,res.data.data[0].latitude]);
+          //画车
+          res.data.data.forEach(element => {
+             that.initMarkes( 20,25, require("@/assets/img/end.png"),element.longitude,element.latitude,element.addressName);
+          });
+        });
+          
+    },
+   //查询路线
+   initData2(){
+      let that = this;
+      if(that.lineList!=null){
+        that.map.remove(that.lineList);
+      }
+      that.axios
+        .get("/api/v1/otms/mapvertexs/getObtainTheOptimalPath?startPoint="+that.startPoint+"&endPoint="+that.endPoint)
+        .then(res => {
+          console.log(res);
+          let path=[];
+          res.data.data.forEach((item,index)=>{
+            console.log(item)
+            console.log(item.latitude)
+            console.log(item.longitude)
+            let point=[item.longitude,item.latitude];
+            path.push(point);
+          })
+          console.log()
+         that.initPolyline(path, "#FF0000");
+        });
+   },
+   
+    //初始化预计轨迹
+    initPolyline(path, color) {
+      let that = this;
+      //预计轨迹
+      var endLine = new AMap.Polyline({
+        map: that.map, //地图组件
+        path: path, //预计轨迹
+        isOutline: true,
+        outlineColor: color, //轨迹颜色
+        borderWeight: 0,
+        strokeColor: "#FF0000",
+        strokeOpacity: 1,
+        strokeWeight: 5,
+        // 折线样式还支持 'dashed'
+        strokeStyle: "solid",
+        // strokeStyle是dashed时有效
+        strokeDasharray: [10, 5],
+        lineJoin: "round",
+        lineCap: "round",
+        zIndex: 50
+      });
+      that.lineList.push(endLine);
+      that.map.setFitView([[endLine]]);
+    },
+    //初始化地图
+    initMap(lon,lat) {
+      lazyAMapApiLoaderInstance.load().then(() => {
+        let that = this;
+        that.map = new AMap.Map("amap-container", {
+          //设置地图容器id
+          viewMode: "2D", //是否为2D地图模式
+          zoom: 20, //初始化地图级别
+          center: [lon,lat] //初始化地图中心点位置105.602725,37.076636
+        });
+        that.initData()
+      });
+    },
+
+     //创建简单的标记
+    initMarkes(weight, height, image, lon, lat, title) {
+      let that = this;
+      //图标标记点
+      let pointicon = new AMap.Icon({
+        size: new AMap.Size(weight, height), // 图标尺寸
+        image: image, // Icon的图像
+        imageOffset: new AMap.Pixel(2, 10), // 图像相对展示区域的偏移量,适于雪碧图等
+        imageSize: new AMap.Size(weight, height) // 根据所设置的大小拉伸或压缩图片
+      });
+      // 创建一个 Marker 实例:
+      var pointmarker = new AMap.Marker({
+        position: new AMap.LngLat(lon, lat), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
+        icon: pointicon,
+        title: title
+      });
+      // 将创建的点标记添加到已有的地图实例:
+      that.map.add(pointmarker);
+      console.log("成功绘制一个标记");
+    },
+   
+    //初始化窗体
+    initCustomMarkes(title, details, lon, lat) {
+      let that = this;
+      //自定义窗体内容
+      var content = [
+        "<div  style='top:1px;width: 180px; background-color: rgba(0, 0, 0, 1);' ><font color='white'>" +
+          title +
+          "</font>",
+        "<div style='background-color:rgba(255, 255, 255, 0.5);'><font color='white'>" +
+          details +
+          "</font></div></div>"
+      ];
+      // 创建 infoWindow 实例
+      var infoWindow = new AMap.InfoWindow({
+        content: content.join("<br>"),//传入 dom 对象,或者 html 字符串
+        offset:new AMap.Pixel(0,-20)//修改信息差窗体偏移
+      });
+      // 打开信息窗体
+      infoWindow.open(that.map, [lon, lat]);
+    },
+  
+  }
+};
+</script>
+<style>
+.inputStyle {
+  position: absolute;
+  width: 200px;
+  left: 50px;
+}
+
+.controller {
+  width: 100%;
+  height: 70px;
+  background: white;
+  position: absolute;
+  z-index: 99;
+  top: 0;
+  left: 0;
+}
+.in_transit_information {
+  width: 600px;
+  float: left;
+  height: 40px;
+}
+
+.container {
+  width: 100%;
+  height: 100%;
+}
+span.item_details2 {
+  position: relative;
+  left: 20px;
+  top: 20px;
+}
+.date_picker_style {
+  position: relative;
+  left: 50px;
+}
+.item_details {
+  position: relative;
+  top: 5px;
+  height: 0px;
+  left: 50px;
+}
+#amap-container {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  overflow: hidden;
+  margin: 0;
+  font-family: "微软雅黑";
+}
+
+/* 进度条 */
+.mySlider {
+  width: 150px;
+  height: 20px;
+  display: inline-block;
+  position: relative;
+  left: 32px;
+}
+/* 进度条 */
+.mySlider2 {
+  width: 400px;
+  height: 20px;
+  display: inline-block;
+  position: relative;
+  left: 32px;
+}
+.play {
+  position: relative;
+  left: 28px;
+}
+.quickly {
+  float: right;
+  position: relative;
+  left: -20px;
+  top: 10px;
+}
+.pause {
+  position: relative;
+  left: 28px;
+}
+.passed-time {
+  position: relative;
+  left: 5px;
+}
+.end-time {
+  position: relative;
+  left: 5px;
+}
+.map-times {
+  position: relative;
+  width: 40px;
+}
+.searchstyle {
+  position: relative;
+  left: 45px;
+}
+.map-control {
+  float: left;
+  width: 270px;
+}
+.driving_information {
+  height: 40px;
+  width: 240px;
+  float: left;
+}
+</style>