Преглед изворни кода

更新 船东管理;创建航次

wzh пре 3 година
родитељ
комит
6300b08f4b

+ 5 - 3
miniprogram/components/remotePicker/remotePicker.js

@@ -26,7 +26,6 @@ Component({
         arr: res.data.result,
         label: ''
       })
-      console.log(res)
     },
     _selectItem(e) {
       let {
@@ -50,10 +49,13 @@ Component({
         arr: []
       })
     },
-    _clear(){
+    _clear() {
       this.setData({
-        label:''
+        label: ''
       })
     }
+  },
+  options: {
+    styleIsolation: 'isolated'
   }
 })

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

@@ -3,7 +3,7 @@
   <input model:value="{{label}}" confirm-type="search" type="text" placeholder="模糊搜索" bindconfirm="_getList" class="remote-picker-input" />
   <view style="position: relative;">
     <scroll-view wx:if="{{arr.length}}" scroll-y="true" class="scroll">
-      <view wx:for="{{arr}}" bindtap="_selectItem" data-label="{{item.value}}" data-value="{{item.key}}">
+      <view class="items" wx:for="{{arr}}" bindtap="_selectItem" data-label="{{item.value}}" data-value="{{item.key}}">
         {{item.value}}
       </view>
     </scroll-view>

+ 7 - 0
miniprogram/components/remotePicker/remotePicker.wxss

@@ -14,4 +14,11 @@
 
 .remote-picker-input {
   padding-left: 20rpx;
+  border: 1px solid grey;
+  height: 80rpx;
+  width: 50vw;
+}
+
+.items {
+  line-height: 80rpx
 }

+ 7 - 1
miniprogram/pages/shipOwnerManage/shipOwnerList/shipOwnerList.js

@@ -8,7 +8,8 @@ import {
 Page({
   data: {
     shipOwnerList: [],
-    term: ''
+    term: '',
+    currentLetter: ''
   },
   async getShipOwnerList(type) {
     let res = await postApi('/ship/list', {
@@ -30,6 +31,11 @@ Page({
       url: '../addShipOnwer/addShipOnwer',
     })
   },
+  tapLetter(e) {
+    this.setData({
+      currentLetter: e.currentTarget.dataset.letter
+    })
+  },
   onLoad() {
     this.getShipOwnerList()
   },

+ 6 - 3
miniprogram/pages/shipOwnerManage/shipOwnerList/shipOwnerList.wxml

@@ -1,7 +1,7 @@
-<scroll-view scroll-y="true" style="height: 90vh;padding-top: 5vw;">
+<scroll-view scroll-y="true" style="height: 90vh;padding-top: 5vw;" scroll-into-view="{{currentLetter}}">
   <input model:value="{{term}}" class="ship-owner-phone" type="text" placeholder-style="text-align:left" confirm-type="search" bindconfirm="getShipOwnerList" placeholder="搜索船东" />
   <block wx:for="{{shipOwnerList}}">
-    <view class="letter">
+    <view class="letter" id="{{item.letter=='?'?'index':item.letter}}">
       {{item.letter}}
     </view>
     <view class="df aic jcsb phones" wx:for="{{item.data}}" wx:for-item="item1">
@@ -11,4 +11,7 @@
     </view>
   </block>
 </scroll-view>
-<view bindtap="addShipOwner" class="next">新建船东</view>
+<view bindtap="addShipOwner" class="next">新建船东</view>
+<view style="position: fixed;top: 10vh;right: 3vw;width: 50rpx;background:#fff;text-align: center;box-shadow: 0px 0px 3px grey;">
+  <view style="margin-bottom: 6rpx;" bindtap="tapLetter" data-letter="{{item.letter=='?'?'index':item.letter}}" wx:for="{{shipOwnerList}}">{{item.letter}}</view>
+</view>

+ 94 - 3
miniprogram/pages/voyageManage/createVoyage/createVoyage.js

@@ -1,3 +1,7 @@
+const {
+  postApi
+} = require("../../../apis/api")
+
 // pages/voyageManage/createVoyage/createVoyage.js
 Page({
   data: {
@@ -58,7 +62,75 @@ Page({
       dischargePorts
     })
   },
-  createVoyage() {
+  checkData() {
+    if (!this.data.shipId) {
+      wx.showToast({
+        title: '请选择船舶',
+        icon: "error"
+      })
+      return
+    }
+    if (!this.data.cargoOwnerId) {
+      wx.showToast({
+        title: '请选择货主',
+        icon: "error"
+      })
+      return
+    }
+    if (!this.data.cargo) {
+      wx.showToast({
+        title: '请选择货种',
+        icon: "error"
+      })
+      return
+    }
+    if (!this.data.loadPort || !this.data.loadPortId) {
+      wx.showToast({
+        title: '请选择装货港',
+        icon: "error"
+      })
+      return
+    }
+    if (!this.data.dischargePortIds.length || !this.data.dischargePorts.length) {
+      wx.showToast({
+        title: '请添加卸货港',
+        icon: "error"
+      })
+      return
+    }
+    if (!this.data.tons) {
+      wx.showToast({
+        title: '请输入吨位',
+        icon: "error"
+      })
+      return
+    }
+    // if(!this.data.pieces){
+    //   wx.showToast({
+    //     title: '请输入件数',
+    //     icon:"error"
+    //   })
+    //   return
+    // }
+    if (!this.data.startTime) {
+      wx.showToast({
+        title: '请选择开始时间',
+        icon: "error"
+      })
+      return
+    }
+    return true
+
+  },
+  async createVoyage() {
+    if (!this.checkData()) return
+    wx.showLoading({
+      title: '正在提交...',
+      mask: true,
+      success: (res) => {},
+      fail: (res) => {},
+      complete: (res) => {},
+    })
     let dischargePortIds = this.data.dischargePortIds.filter(item => {
       return item
     })
@@ -71,9 +143,28 @@ Page({
       loginAccountId: wx.getStorageSync('loginAccountId'),
       dischargePortIds: dischargePortIds.join(','),
       dischargePorts: dischargePorts.join(','),
-      startTime
+      startTime,
+      tons: this.data.tons,
+      pieces: this.data.pieces,
+    }
+
+    let res = await postApi('/voyage/backstage/add', postData)
+    wx.hideLoading({
+      success: (res) => {},
+    })
+    if (res.data.status == 0) {
+      wx.showToast({
+        title: res.data.msg,
+      })
+      wx.switchTab({
+        url: '/pages/voyageManage/voyageManage',
+      })
+    } else {
+      wx.showToast({
+        title: res.data.msg,
+        icon: "error"
+      })
     }
 
-    console.log(postData)
   }
 })

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

@@ -1,54 +1,54 @@
-<view>
-  <view class="df jcsb line">
+<view style="padding-top: 80rpx;">
+  <view class="df aic jcsb line">
     <view>选择船舶</view>
     <view>
       <RemotePicker bind:selectItem="selectShip" url="/ship/select" params="{{defaultParams}}"></RemotePicker>
     </view>
   </view>
-  <view class="df jcsb line">
+  <view class="df aic jcsb line">
     <view>选择货主</view>
     <view>
       <RemotePicker bind:selectItem="selectCargoOwner" url="/user/cargoOwner/select" params="{{defaultParams}}"></RemotePicker>
     </view>
   </view>
-  <view class="df jcsb line">
+  <view class="df aic jcsb line">
     <view>选择货种</view>
     <view>
       <RemotePicker bind:selectItem="selectCargo" url="/cargo/select"></RemotePicker>
     </view>
   </view>
-  <view class="df jcsb line">
+  <view class="df aic jcsb line">
     <view>装货港</view>
     <view>
       <RemotePicker bind:selectItem="selectLoadPort" url="/port/backstage/getCol"></RemotePicker>
     </view>
   </view>
-  <view class="df jcsb line" wx:for="{{dischargePorts}}">
+  <view class="df aic jcsb line" wx:for="{{dischargePorts}}">
     <view>卸货港 #{{index+1}}</view>
     <view>
       <RemotePicker id="{{'disc'+index}}" style="width: 200rpx;" bind:selectItem="selectDiscPort" data-index="{{index}}" url="/port/backstage/getCol"></RemotePicker>
     </view>
-    <image bindtap="deleteDischargePort" data-index="{{index}}" src="../../../images/delete.png" style="position: absolute;right: 10rpx;top:4rpx;width: 40rpx;height: 40rpx;z-index: 100;"></image>
+    <image bindtap="deleteDischargePort" data-index="{{index}}" src="../../../images/delete.png" class="delete"></image>
   </view>
-  <view class="df jcsb line">
+  <view wx:if="{{dischargePorts[dischargePorts.length - 1]}}" class="df aic jcsb line">
     <view></view>
-    <view class="next" wx:if="{{dischargePorts[dischargePorts.length - 1]}}" bindtap="addDischargePort" style="width: 200rpx;height: 50rpx;line-height: 50rpx;font-size: 26rpx;margin: 0;">添加卸货港</view>
+    <view class="next" bindtap="addDischargePort" style="width: 200rpx;height: 50rpx;line-height: 50rpx;font-size: 26rpx;margin: 0;">添加卸货港</view>
   </view>
-  <view class="df jcsb line">
+  <view class="df aic jcsb line">
     <view>货量</view>
-    <view class="df">
-      <view class="df mr50"><input style="width: 150rpx;padding-left: 20rpx;" model:value="{{tons}}" type="text" placeholder="必填" />
-        <view class="ml10">吨</view>
+    <view class="df aic">
+      <view class="df aic mr30"><input style="width: 150rpx;padding-left: 20rpx;border: 1px solid grey;height: 80rpx;" model:value="{{tons}}" type="digit" placeholder="必填" />
+        <view class="ml20">吨</view>
       </view>
-      <view class="df"><input style="width: 100rpx;padding-left: 20rpx;" model:value="{{pieces}}" type="text" placeholder="必填" />
-        <view class="ml10">件</view>
+      <view class="df aic"><input style="width: 100rpx;padding-left: 20rpx;border: 1px solid grey;height: 80rpx;" model:value="{{pieces}}" type="number" placeholder="" />
+        <view class="ml20">件</view>
       </view>
     </view>
   </view>
-  <view class="df jcsb line">
+  <view class="df aic jcsb line">
     <view>开始时间</view>
-    <picker mode="date" model:value="{{startTime}}" start="2015-09-01" end="2017-09-01" bindchange="bindDateChange" style="border: 1px solid grey;height: 48rpx;width: 50vw;padding-left: 20rpx;">
-      <view style="color: grey;">
+    <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;">
         {{startTime||'选择开始时间'}}
       </view>
     </picker>

+ 13 - 5
miniprogram/pages/voyageManage/createVoyage/createVoyage.wxss

@@ -7,16 +7,15 @@
   position: relative;
 }
 
-.line view {
+/* .line view {
   line-height: 48rpx;
-
 }
 
 .line input {
   border: 1px solid grey;
-  height: 48rpx;
+  height: 80rpx;
   width: 50vw;
-}
+} */
 
 .next {
   text-align: center;
@@ -27,5 +26,14 @@
   background: #0094FE;
   border-radius: 10rpx;
   margin: 0 auto;
-  margin-top: 1vh;
+  margin-top: 5vh;
+}
+
+.delete {
+  position: absolute;
+  right: 10rpx;
+  top: 14rpx;
+  width: 52rpx;
+  height: 52rpx;
+  z-index: 5;
 }