|  | @@ -35,6 +35,11 @@
 | 
	
		
			
				|  |  |              </el-table-column>
 | 
	
		
			
				|  |  |            </el-table>
 | 
	
		
			
				|  |  |          </template>
 | 
	
		
			
				|  |  | +          <!--车号1-->
 | 
	
		
			
				|  |  | +          <template slot="wagonNumberOne" slot-scope="{ row }">
 | 
	
		
			
				|  |  | +              <span style="color: #409EFF;" @click="openTrack(row,1)">{{row.wagonNumberOne}}</span>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          <template slot-scope="scope" slot="orderNo">
 | 
	
		
			
				|  |  |            <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row, scope.index)">{{scope.row.orgOrderNo}}</span>
 | 
	
		
			
				|  |  |          </template>
 | 
	
	
		
			
				|  | @@ -90,6 +95,17 @@
 | 
	
		
			
				|  |  |      </basic-container>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <detail-page ref="detail" :isProcurements = "isProcurements" @goBack="goBack" :detailData="detailData" v-if="!isShow"></detail-page>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <el-dialog
 | 
	
		
			
				|  |  | +          title="实时位置"
 | 
	
		
			
				|  |  | +          append-to-body
 | 
	
		
			
				|  |  | +          custom-class="dialog_two"
 | 
	
		
			
				|  |  | +          :visible.sync="dialogVisible"
 | 
	
		
			
				|  |  | +          lock-scroll
 | 
	
		
			
				|  |  | +          width="80%">
 | 
	
		
			
				|  |  | +          <div id="container"></div>
 | 
	
		
			
				|  |  | +      </el-dialog>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -113,6 +129,7 @@ import { getToken } from "@/util/auth";
 | 
	
		
			
				|  |  |  import os from "os";
 | 
	
		
			
				|  |  |  import { gainUser } from "@/api/basicData/customerInquiry";
 | 
	
		
			
				|  |  |  import { getCurrentDate } from "@/util/date";
 | 
	
		
			
				|  |  | +import {location} from "@/api/gaude";
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: "customerInformation",
 | 
	
		
			
				|  |  |    components: {
 | 
	
	
		
			
				|  | @@ -149,10 +166,18 @@ export default {
 | 
	
		
			
				|  |  |        isShow: true,
 | 
	
		
			
				|  |  |        detailData: {},
 | 
	
		
			
				|  |  |        warehouseTypeOption: [],
 | 
	
		
			
				|  |  | -      warehouseList: []
 | 
	
		
			
				|  |  | +      warehouseList: [],
 | 
	
		
			
				|  |  | +        // 车号弹窗显示位置
 | 
	
		
			
				|  |  | +        dialogVisible:false,
 | 
	
		
			
				|  |  | +        // 当前用户的租户号
 | 
	
		
			
				|  |  | +        hctenantId:null,
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    async created() {
 | 
	
		
			
				|  |  | +      // 获取缓存里的租户号信息
 | 
	
		
			
				|  |  | +      this.hctenantId = JSON.parse(localStorage.getItem('saber-tenantId')).content
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      // this.search.businesDate = defaultDate(1);
 | 
	
		
			
				|  |  |      this.search.createTime = defaultDate(3);
 | 
	
		
			
				|  |  |      // this.option = option
 | 
	
	
		
			
				|  | @@ -242,6 +267,62 @@ export default {
 | 
	
		
			
				|  |  |      }, 100);
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  | +      // 车号查询位置
 | 
	
		
			
				|  |  | +      openTrack(row, index) {
 | 
	
		
			
				|  |  | +          location({itemId: row.itemId, plateNo: row.wagonNumberOne, tenantId: this.hctenantId, color: '2'}).then(res => {
 | 
	
		
			
				|  |  | +              this.dialogVisible = true
 | 
	
		
			
				|  |  | +              let this_ = this
 | 
	
		
			
				|  |  | +              setTimeout(function () {
 | 
	
		
			
				|  |  | +                  this_.initMap(res.data.data, row.wagonNumberOne);
 | 
	
		
			
				|  |  | +              }, 1000)
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      markerClick(e) {
 | 
	
		
			
				|  |  | +          this.infoWindow.setContent(e.target.content);
 | 
	
		
			
				|  |  | +          this.infoWindow.open(this.map, e.target.getPosition());
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      initMap(data, plateNo) {
 | 
	
		
			
				|  |  | +          this.map = new AMap.Map("container", {resizeEnable: true});
 | 
	
		
			
				|  |  | +          this.infoWindow = new AMap.InfoWindow({
 | 
	
		
			
				|  |  | +              ffset: new AMap.Pixel(0, -30),
 | 
	
		
			
				|  |  | +              offset: new AMap.Pixel(0, -30)
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          let icon = new AMap.Icon({
 | 
	
		
			
				|  |  | +              size: new AMap.Size(52, 26), // 图标尺寸
 | 
	
		
			
				|  |  | +              image: 'https://trade.tubaosoft.com/file/bladex/000000/1123598821738675201/che.png',
 | 
	
		
			
				|  |  | +              imageSize: new AMap.Size(52, 26), // 根据所设置的大小拉伸或压缩图片
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          this.marker = new AMap.Marker({
 | 
	
		
			
				|  |  | +              position: data.location,
 | 
	
		
			
				|  |  | +              map: this.map,
 | 
	
		
			
				|  |  | +              icon: icon,
 | 
	
		
			
				|  |  | +              markerMeta: new AMap.Size(28, 28),
 | 
	
		
			
				|  |  | +              offset: new AMap.Pixel(-26, -15),
 | 
	
		
			
				|  |  | +              autoRotation: true,
 | 
	
		
			
				|  |  | +              angle: -15
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          this.marker.content = '<div style="width: 300px;">'
 | 
	
		
			
				|  |  | +              + '<p style="font-size: 22px;font-weight: bold;background-color: #2d8cf0;color: #fff;">' + plateNo + '</p>'
 | 
	
		
			
				|  |  | +              + '<p style="padding: 5px 0"><span style="color: #a0a0a0">最后上报时间:</span>' + new Date(Number(data.time) + 8 * 60 * 60 * 1000).toJSON().split('T').join(' ').substr(0, 19) + '</p>'
 | 
	
		
			
				|  |  | +              + '<div style="width: 150px;float: left;">'
 | 
	
		
			
				|  |  | +              + '<p style="padding: 5px 0"><span style="color: #a0a0a0">车辆状态:</span>' + (data.speed > 0 ? '行驶中' : '停车') + '</p>'
 | 
	
		
			
				|  |  | +              + '</div>'
 | 
	
		
			
				|  |  | +              + '<div style="width: 150px;float: right;">'
 | 
	
		
			
				|  |  | +              + '<p style="padding: 5px 0"><span style="color: #a0a0a0">速度:</span>' + data.speed + 'km/h</p>'
 | 
	
		
			
				|  |  | +              + '</div>'
 | 
	
		
			
				|  |  | +              + '<p><span style="color: #a0a0a0">当前位置:</span>' + data.address + '</p>'
 | 
	
		
			
				|  |  | +              + '<p style="padding: 5px 0"><span style="color: #a0a0a0">经纬度:</span>' + data.location.join(',') + '</p>'
 | 
	
		
			
				|  |  | +              + '</div>'
 | 
	
		
			
				|  |  | +          this.infoWindow.open(this.map, this.map.getCenter());
 | 
	
		
			
				|  |  | +          this.marker.on('click', this.markerClick);
 | 
	
		
			
				|  |  | +          this.marker.emit('click', {target: this.marker});
 | 
	
		
			
				|  |  | +          this.map.setFitView();
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      searchCriteriaSwitch(type) {
 | 
	
		
			
				|  |  |        if (type) {
 | 
	
		
			
				|  |  |          this.option.height = this.option.height - 190;
 |