Bläddra i källkod

更新 多港口

wzh 3 år sedan
förälder
incheckning
3adcb2087a

+ 30 - 5
miniprogram/pages/sharePage/sharePage.js

@@ -30,6 +30,7 @@ Page({
     pageSize: 20,
     latitude: 31.891992,
     longitude: 120.551369,
+    currentPortId: 0
   },
   changeTab(e) {
     let {
@@ -117,6 +118,7 @@ Page({
       this.data.truckLoadCurrentPage = 1
     }
     let res = await postApi("/voyage/getCarLoadRecordList", {
+      portId: this.data.currentPortId,
       voyageId: this.data.id,
       size: this.data.pageSize,
       currentPage: this.data.truckLoadCurrentPage,
@@ -163,6 +165,7 @@ Page({
       this.data.shipDischargeCurrentPage = 1
     }
     let res = await postApi("/voyage/getDischargeList", {
+      portId: this.data.currentPortId,
       voyageId: this.data.id,
       size: this.data.pageSize,
       currentPage: this.data.shipDischargeCurrentPage,
@@ -268,9 +271,19 @@ Page({
       isClient: wx.getStorageSync('isClient'),
       loginAccountId: wx.getStorageSync('loginAccountId'),
     })
+    // for (let i of res.data.result.detailInfos) {
+    //   i.transInfos = res.data.result.detailInfos[0].transInfos
+    // }
+    res.data.result.detailInfos.sort((a, b) => {
+      return b.sort - a.sort
+    })
+
     this.setData({
-      ...res.data.result
+      ...res.data.result,
+      currentPortId: res.data.result.detailInfos[0].portId
     })
+    this.getCarLoadRecordList()
+    this.getDischargeList()
   },
 
   loginEvent(e) {
@@ -286,8 +299,6 @@ Page({
       if ((wx.getStorageSync('isClient') && wx.getStorageSync('sharePermission') || !(wx.getStorageSync('isClient')))) {
         this.getNewDetail()
         this.getVoyageDetail()
-        this.getCarLoadRecordList()
-        this.getDischargeList()
       } else {
         wx.showToast({
           icon: "none",
@@ -303,6 +314,22 @@ Page({
   },
 
 
+  changePort(e) {
+    let currentPortId = e.target.dataset.id
+    this.setData({
+      currentPortId,
+      shipDischargeList: [],
+      truckLoadList: [],
+    })
+    if (this.data.infoType == "ship") {
+      this.getDischargeList()
+    } else {
+      this.getCarLoadRecordList()
+    }
+
+  },
+
+
   onLoad(options) {
     let {
       id
@@ -319,8 +346,6 @@ Page({
       if ((wx.getStorageSync('isClient') && wx.getStorageSync('sharePermission') || !(wx.getStorageSync('isClient')))) {
         this.getNewDetail()
         this.getVoyageDetail()
-        this.getCarLoadRecordList()
-        this.getDischargeList()
       } else {
         wx.showToast({
           icon: "none",

+ 43 - 35
miniprogram/pages/sharePage/sharePage.wxml

@@ -15,7 +15,7 @@
             <view>装货港</view> <text class="mr20">:</text> {{loadPort}}
           </view>
           <view class="df item">
-            <view>卸货港</view> <text class="mr20">:</text> {{discPort}}
+            <view>卸货港</view> <text class="mr20">:</text> {{detailInfos[0].portName}}
           </view>
         </view>
         <view class="df aic mt10 fz24 c3">
@@ -30,46 +30,49 @@
     </view>
     <view style="position: relative;">
       <scroll-view class="card" scroll-y="true" style="height:calc(100vh - 760rpx);position: relative;z-index: 20;" lower-threshold="50">
-        <view class="{{['df','mb20','mb40']}}" style="position: relative;z-index: 2;">
-          <view class="{{['mr30','title-circle']}}" style="background: green;"></view>
-          <view class="text">
-            <view class="in-text df">
-              <view class="card-title" style="color:#000;width: 250rpx;margin-right: 30rpx;">卸货港</view>
-              <view class="card-title" style="color: #000;">{{arrivalDiscPortTime?"实际到港时间":"预计到港时间"}}</view>
-            </view>
-            <view class="in-text df">
-              <view style="width: 250rpx;margin-right: 30rpx;">{{discPort}}</view>
-              <view>{{arrivalDiscPortTime||expectedArrivalTime}}</view>
+
+        <view wx:for="{{detailInfos}}" wx:for-index="index0" wx:for-item="item0" wx:if="{{item0.setSailTime}}">
+          <view class="{{['df','mb20']}}" style="position: relative;z-index: 2;">
+            <view class="{{['mr30','title-circle']}}" style="background: green;"></view>
+            <view class="text">
+              <view class="in-text df">
+                <view class="card-title" style="color:#000;width: 250rpx;margin-right: 30rpx;">卸货港 #{{item0.sort}}</view>
+                <view class="card-title" style="color: #000;">{{item0.arrivalDiscPortTime?"实际到港时间":"预计到港时间"}}</view>
+              </view>
+              <view class="in-text df">
+                <view style="width: 250rpx;margin-right: 30rpx;">{{item0.portName}}</view>
+                <view>{{item0.arrivalDiscPortTime||item0.expectedArrivalTime}}</view>
+              </view>
             </view>
           </view>
-        </view>
-        <view class="{{['df','mb20',index==transInfos.length-1?'mb40':'']}}" style="position: relative;z-index: 2;" wx:for="{{transInfos}}" wx:key="index">
-          <view class="{{['mr30',index==0?'title-circle transInfos':'circle',arrivalDiscPortTime?'greyback':'']}}"></view>
-          <view class="text">
-            <view wx:if="{{index==0}}" class="card-title">运输中</view>
-            <view class="in-text df">
-              <view style="width: 250rpx;margin-right: 30rpx;">{{item.createTime}}</view>
-              <view>{{item.province}}/{{item.city}}/{{item.district}}</view>
+          <view class="{{['df','mb20',index==transInfos.length-1?'mb40':'']}}" style="position: relative;z-index: 2;" wx:for="{{item0.transInfos}}" wx:key="index">
+            <view class="{{['mr30',index==0?'title-circle transInfos':'circle',arrivalDiscPortTime?'greyback':'']}}"></view>
+            <view class="text">
+              <view wx:if="{{index==0}}" class="card-title">运输中</view>
+              <view class="in-text df">
+                <view style="width: 250rpx;margin-right: 30rpx;">{{item.createTime}}</view>
+                <view>{{item.province}}/{{item.city}}/{{item.district}}</view>
+              </view>
             </view>
           </view>
-        </view>
-        <view class="{{['df','mb20',index==loadingInfos.length-1?'mb40':'']}}" style="position: relative;z-index: 2;" wx:for="{{loadingInfos}}" wx:key="index">
-          <view class="{{['mr30',index==0?'title-circle':'circle']}}"></view>
-          <view class="text">
-            <view wx:if="{{index==0}}" class="card-title">装货中</view>
-            <view class="in-text df">
-              <view style="width: 250rpx;margin-right: 30rpx;">{{item.createTime}}</view>
-              <view>{{item.province}}/{{item.city}}/{{item.district}}</view>
+          <view class="{{['df','mb20',index==loadingInfos.length-1?'mb40':'']}}" style="position: relative;z-index: 2;" wx:for="{{loadingInfos}}" wx:key="index">
+            <view class="{{['mr30',index==0?'title-circle':'circle']}}"></view>
+            <view class="text">
+              <view wx:if="{{index==0}}" class="card-title">装货中</view>
+              <view class="in-text df">
+                <view style="width: 250rpx;margin-right: 30rpx;">{{item.createTime}}</view>
+                <view>{{item.province}}/{{item.city}}/{{item.district}}</view>
+              </view>
             </view>
           </view>
-        </view>
-        <view class="{{['df','mb20','mb40']}}" style="position: relative;z-index: 2;">
-          <view class="{{['mr30','title-circle']}}"></view>
-          <view class="text">
-            <view class="card-title">开航</view>
-            <view class="in-text df">
-              <view style="width: 250rpx;margin-right: 30rpx;">{{setSailTime}}</view>
-              <view></view>
+
+          <view class="{{['df','mb50']}}" style="position: relative;z-index: 2;">
+            <view class="{{['mr30','title-circle']}}"></view>
+            <view class="text">
+              <view class="in-text df">
+                <view class="card-title" style="color:#000;width: 250rpx;margin-right: 30rpx;">开航</view>
+                <view class="card-title" style="color: #000;">{{item0.setSailTime}}</view>
+              </view>
             </view>
           </view>
         </view>
@@ -94,6 +97,11 @@
       </view>
     </view>
     <view wx:if="{{tab==4}}">
+      <scroll-view scroll-x="true" style="width: 100%;">
+      <view class="df jcsa" style="min-width: 110vw">
+        <view class="{{['port-btns',currentPortId == item.portId?'current-port-btn':'','mr20']}}" wx:for="{{voyage.voyageDetails}}" bindtap="changePort" data-id="{{item.portId}}">{{item.portName}}</view>
+      </view>
+    </scroll-view>
       <view class="df aic jcsb pb20" style="border-bottom: 2rpx solid #ddd;">
         <view bindtap="changeInfoType" data-type="ship" style="color:{{infoType=='ship'?'#0d8fcc':''}};border-bottom:{{infoType=='ship'?'2rpx solid #0d8fcc':''}}">船舶卸货记录</view>
         <view bindtap="changeInfoType" data-type="truck" style="color:{{infoType=='truck'?'#0d8fcc':''}};border-bottom:{{infoType=='truck'?'2rpx solid #0d8fcc':''}}">汽车装货记录</view>

+ 17 - 0
miniprogram/pages/sharePage/sharePage.wxss

@@ -190,4 +190,21 @@ page {
 
 .transInfos {
   background: rgb(197, 56, 56);
+}
+
+
+.port-btns {
+  width: 200rpx !important;
+  height: 70rpx;
+  line-height: 70rpx;
+  text-align: center;
+  margin-bottom: 20rpx;
+  border-radius: 10rpx;
+  border: 1rpx solid grey
+}
+
+.current-port-btn {
+  color: #fff;
+  background: #008ebd;
+  border: none;
 }

+ 10 - 1
miniprogram/pages/voyages/detail/detail.js

@@ -96,7 +96,14 @@ Page({
     voyage.setSailTime = this.subTimeStr(voyage.setSailTime)
     voyage.expectedArrivalTime = this.subTimeStr(voyage.expectedArrivalTime)
 
+    for (let item of voyage.voyageDetails) {
 
+      item.setSailTime = this.subTimeStr(item.setSailTime)
+      item.expectedArrivalTime = this.subTimeStr(item.expectedArrivalTime)
+      item.actualArrivalTime = this.subTimeStr(item.actualArrivalTime)
+      item.dischargeStartTime = this.subTimeStr(item.dischargeStartTime)
+      item.dischargeEndTime = this.subTimeStr(item.dischargeEndTime)
+    }
     this.setData({
       coordinates,
       medias,
@@ -263,7 +270,9 @@ Page({
   changePort(e) {
     let currentPortId = e.target.dataset.id
     this.setData({
-      currentPortId
+      currentPortId,
+      shipDischargeList: [],
+      truckLoadList: [],
     })
     if (this.data.infoType == "ship") {
       this.getDischargeList()

+ 3 - 3
miniprogram/pages/voyages/detail/detail.wxml

@@ -128,9 +128,9 @@
     </view>
   </view>
   <view wx:if="{{tab==4}}">
-    <scroll-view scroll-x="true">
-      <view class=" df jcsa">
-        <view class="{{['port-btns',currentPortId == item.portId?'current-port-btn':'']}}" wx:for="{{voyage.voyageDetails}}" bindtap="changePort" data-id="{{item.portId}}">{{item.portName}}</view>
+    <scroll-view scroll-x="true" style="width: 100%;">
+      <view class="df jcsa" style="min-width: 110vw">
+        <view class="{{['port-btns',currentPortId == item.portId?'current-port-btn':'','mr20']}}" wx:for="{{voyage.voyageDetails}}" bindtap="changePort" data-id="{{item.portId}}">{{item.portName}}</view>
       </view>
     </scroll-view>
     <view class="df aic jcsb pb20" style="border-bottom: 2rpx solid #ddd;">

+ 1 - 1
miniprogram/pages/voyages/detail/detail.wxss

@@ -119,7 +119,7 @@ page {
 }
 
 .port-btns {
-  width: 200rpx;
+  width: 200rpx !important;
   height: 70rpx;
   line-height: 70rpx;
   text-align: center;

+ 2 - 2
project.private.config.json

@@ -19,7 +19,7 @@
         {
           "name": "",
           "pathName": "pages/voyages/detail/detail",
-          "query": "id=42",
+          "query": "id=155",
           "launchMode": "default",
           "scene": null
         },
@@ -33,7 +33,7 @@
         {
           "name": "",
           "pathName": "pages/sharePage/sharePage",
-          "query": "id=42",
+          "query": "id=159",
           "launchMode": "default",
           "scene": null
         }