소스 검색

更新 航次详情

wzh 3 년 전
부모
커밋
f280475e28

+ 3 - 0
miniprogram/app.json

@@ -63,6 +63,9 @@
   },
   "useExtendedLib": {
 
+  },
+  "usingComponents": {
+    "RemotePicker": "/components/remotePicker/remotePicker"
   },
   "sitemapLocation": "sitemap.json",
   "style": "v2"

+ 8 - 0
miniprogram/app.wxss

@@ -201,4 +201,12 @@ picker {
 
 .c3 {
   color: #333;
+}
+
+.back-blue {
+  background: #0094FE;
+}
+
+.back-red {
+  background: #d90024;
 }

+ 9 - 8
miniprogram/components/remotePicker/remotePicker.js

@@ -12,12 +12,19 @@ Component({
     },
     inputStyle: {
       type: String
+    },
+    disabled: {
+      type: Boolean
+    },
+    value: {
+      type: String || Number
+    },
+    label: {
+      type: String
     }
   },
   data: {
     arr: [],
-    value: '',
-    label: '',
   },
   methods: {
     async _getList() {
@@ -52,12 +59,6 @@ Component({
         arr: []
       })
     },
-    _clear() {
-      if (this.data.value) return
-      this.setData({
-        label: ''
-      })
-    }
   },
   options: {
     styleIsolation: 'isolated'

+ 1 - 1
miniprogram/components/remotePicker/remotePicker.wxml

@@ -1,6 +1,6 @@
 <!--components/remotePicker/remotePicker.wxml-->
 <view bindtap="_handlerOne" capture-bind:tap="_handlerOne">
-  <input model:value="{{label}}" confirm-type="search" type="text" placeholder="模糊搜索" bindconfirm="_getList" bindblur="_clear" class="remote-picker-input" style="{{inputStyle}}" />
+  <input disabled="{{disabled}}" model:value="{{label}}" confirm-type="search" type="text" placeholder="模糊搜索" bindconfirm="_getList" class="remote-picker-input" style="{{inputStyle}}" />
   <view style="position: relative;">
     <scroll-view wx:if="{{arr.length}}" scroll-y="true" class="scroll">
       <view class="items" wx:for="{{arr}}" bindtap="_selectItem" data-label="{{item.value}}" data-value="{{item.key}}">

+ 0 - 1
miniprogram/pages/voyageManage/createVoyage/createVoyage.js

@@ -51,7 +51,6 @@ Page({
     if (dischargePorts.length == 1) {
       dischargePortIds = ['']
       dischargePorts = ['']
-      this.selectComponent('#disc0')._clear()
     } else {
       dischargePorts.splice(e.currentTarget.dataset.index, 1)
       dischargePortIds.splice(e.currentTarget.dataset.index, 1)

+ 1 - 1
miniprogram/pages/voyageManage/createVoyage/createVoyage.wxml

@@ -48,7 +48,7 @@
   <view class="df aic jcsb line">
     <view>开始时间</view>
     <picker mode="date" model:value="{{startTime}}" style="border: 1px solid grey;height: 80rpx;width: 50vw;padding-left: 20rpx;">
-      <view style="color: grey;line-height: 80rpx;">
+      <view style="color: grey;line-height: 80rpx;background: none;">
         {{startTime||'选择开始时间'}}
       </view>
     </picker>

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

@@ -95,6 +95,9 @@ Page({
     voyage.loadEndTime = this.subTimeStr(voyage.loadEndTime)
     voyage.setSailTime = this.subTimeStr(voyage.setSailTime)
     voyage.expectedArrivalTime = this.subTimeStr(voyage.expectedArrivalTime)
+    let dischargePortIds = voyage.dischargePortIds.split(',')
+    let dischargePorts = voyage.dischargePorts.split(',')
+    let discLength = dischargePortIds.length
 
     for (let item of voyage.voyageDetails) {
 
@@ -110,7 +113,10 @@ Page({
       policys,
       voyage,
       waybills,
-      currentPortId: voyage?.voyageDetails[0].portId
+      currentPortId: voyage?.voyageDetails[0].portId,
+      dischargePortIds,
+      dischargePorts,
+      discLength
     })
     this.getCarLoadRecordList()
     this.getDischargeList()
@@ -283,6 +289,42 @@ Page({
   },
 
 
+  selectDiscPort(e) {
+    this.data.dischargePortIds[e.currentTarget.dataset.index] = e.detail.value
+    this.data.dischargePorts[e.currentTarget.dataset.index] = e.detail.label
+    this.setData({
+      dischargePorts: this.data.dischargePorts,
+      dischargePortIds: this.data.dischargePortIds
+    })
+  },
+  addDischargePort() {
+    let dischargePorts = this.data.dischargePorts
+    let dischargePortIds = this.data.dischargePortIds
+    dischargePorts.push('')
+    dischargePortIds.push('')
+    this.setData({
+      dischargePortIds,
+      dischargePorts
+    })
+  },
+  deleteDischargePort(e) {
+    let dischargePorts = this.data.dischargePorts
+    let dischargePortIds = this.data.dischargePortIds
+    if (dischargePorts.length == 1) {
+      dischargePortIds = ['']
+      dischargePorts = ['']
+    } else {
+      dischargePorts.splice(e.currentTarget.dataset.index, 1)
+      dischargePortIds.splice(e.currentTarget.dataset.index, 1)
+    }
+
+    this.setData({
+      dischargePortIds,
+      dischargePorts
+    })
+  },
+
+
   onShareAppMessage() {
     let id = wx.getStorageSync('voyageDetailId')
     return {

+ 24 - 8
miniprogram/pages/voyages/detail/detail.wxml

@@ -1,4 +1,9 @@
-<map enable-zoom="{{false}}" enable-scroll="{{false}}" markers="{{markers}}" include-points="{{points}}" style="width: 100%;height: 400rpx;" name="map"></map>
+<!-- <map enable-zoom="{{false}}" enable-scroll="{{false}}" markers="{{markers}}" include-points="{{points}}" style="width: 100%;height: 400rpx;" name="map"></map> -->
+<view style="width: 100%;height: 400rpx;"></view>
+<view class="df aic jcfe p10 fs24">
+  <view class="voyage-btn back-blue">完成航次</view>
+  <view class="voyage-btn back-red">取消航次</view>
+</view>
 <view class="df aic jcsb p20" style="border-bottom: 1px solid #999;border-top: 1px solid #999;">
   <view class="tabsview" bindtap="changeTab" data-tab="{{1}}" style="color:{{tab==1?'#0d8fcc':''}};border-bottom:{{tab==1?'2rpx solid #0d8fcc':''}}">航次信息</view>
   <view class="tabsview" bindtap="changeTab" data-tab="{{2}}" style="color:{{tab==2?'#0d8fcc':''}};border-bottom:{{tab==2?'2rpx solid #0d8fcc':''}}">航次详情</view>
@@ -6,7 +11,7 @@
   <view class="tabsview" bindtap="changeTab" data-tab="{{4}}" style="color:{{tab==4?'#0d8fcc':''}};border-bottom:{{tab==4?'2rpx solid #0d8fcc':''}}">卸货信息</view>
   <view class="tabsview" bindtap="changeTab" data-tab="{{5}}" style="color:{{tab==5?'#0d8fcc':''}};border-bottom:{{tab==5?'2rpx solid #0d8fcc':''}}">航次照片</view>
 </view>
-<scroll-view scroll-y="true" style="height:calc(100vh - 494rpx);padding: 30rpx 50rpx;font-size: 28rpx;color:#222" lower-threshold="50" bindscrolltolower="test">
+<scroll-view scroll-y="true" style="height:calc(100vh - 570rpx);font-size: 28rpx;color:#222" lower-threshold="50" bindscrolltolower="test">
   <view wx:if="{{tab==1}}">
     <view class="line">
       <view class="line-full-item">
@@ -14,6 +19,12 @@
         <view class="line-full-text">{{voyage.voyageName}}</view>
       </view>
     </view>
+    <view class="line">
+      <view class="line-full-item">
+        <view class="line-full-title">货主:</view>
+        <view class="line-text">{{voyage.cargoOwnerName}}</view>
+      </view>
+    </view>
     <view class="line">
       <view class="line-full-item">
         <view class="line-full-title">船舶名称:</view>
@@ -32,20 +43,25 @@
         <view class="line-text">{{voyage.loadPort}}</view>
       </view>
     </view>
-    <view class="line">
-      <view class="df">
-        <view style="width: 150rpx;"> 卸货港:</view>
-        <view>{{voyage.dischargePorts}}</view>
+    <view class="line" wx:for="{{dischargePorts}}">
+      <view class="line-item">
+        <view class="line-title">卸货港 #{{index+1}}:</view>
+        <view class="line-text">{{item}}</view>
       </view>
     </view>
+    <view class="df aic jcsb line">
+      <view></view>
+      <view class="next" bindtap="addDischargePort" style="width: 200rpx;height: 50rpx;line-height: 50rpx;font-size: 26rpx;margin: 0;">添加卸货港</view>
+    </view>
     <view class="line">
       <view class="line-item">
         <view class="line-title">货种:</view>
         <view class="line-text">{{voyage.cargo}}</view>
       </view>
       <view class="line-item">
-        <view class="line-title">吨位:</view>
-        <view class="line-text">{{voyage.tons}}</view>
+        <view class="line-title">货量:</view>
+        <view class="line-text">{{voyage.tons}} 吨</view>
+        <view class="line-text">{{voyage.pieces}} 件</view>
       </view>
     </view>
   </view>

+ 37 - 0
miniprogram/pages/voyages/detail/detail.wxss

@@ -133,4 +133,41 @@ page {
   color: #fff;
   background: #008ebd;
   border: none;
+}
+
+.voyage-btn {
+  height: 50rpx;
+  line-height: 50rpx;
+  border-radius: 10rpx;
+  padding: 0 20rpx;
+  margin-right: 20rpx;
+  color: #fff;
+}
+
+.line {
+  width: 80%;
+  margin: 30rpx auto;
+  font-size: 28rpx;
+  position: relative;
+}
+
+.next {
+  text-align: center;
+  width: 300rpx;
+  height: 80rpx;
+  line-height: 80rpx;
+  color: #fff;
+  background: #0094FE;
+  border-radius: 10rpx;
+  margin: 0 auto;
+  margin-top: 5vh;
+}
+
+.delete {
+  position: absolute;
+  right: 10rpx;
+  top: 14rpx;
+  width: 52rpx;
+  height: 52rpx;
+  z-index: 5;
 }

+ 7 - 0
project.private.config.json

@@ -72,6 +72,13 @@
           "launchMode": "default",
           "scene": null
         },
+        {
+          "name": "",
+          "pathName": "pages/voyages/detail/detail",
+          "query": "id=169",
+          "launchMode": "default",
+          "scene": null
+        },
         {
           "name": "",
           "pathName": "pages/voyages/detail/detail",