Explorar el Código

起卸订单:起卸分配,装货分配,结束,填报;报港预约:船主确认

shasha hace 13 horas
padre
commit
6503b94c0b

+ 1 - 1
app.json

@@ -75,7 +75,7 @@
         "loadArrive/info",
 
         "loadAppoint/index",
-        "loadAppoint/info",
+        "loadAppoint/info",      
         "loadAppoint/allocation",
         "loadAppoint/dispatch"
 

+ 83 - 40
otherPages/loadAppoint/allocation.js

@@ -1,4 +1,4 @@
-// pages/loadAppoint/allocationIndex.js
+// pages/loadAppoint/allocation.js
 const app = getApp();
 Page({
 
@@ -68,7 +68,7 @@ Page({
   },  
 
   //装卸点位
-  loadPointData:function(){
+  loadPointData:function(loadPointId){
     app.request.GET({
       url: app.API.loadPoint,
       params: {'appointType' : '1'},
@@ -76,33 +76,38 @@ Page({
       successFun: true
     }).then(res => {
       this.setData({
-        loadPointArray:res.data.data
+        loadPointArray : res.data.data,
+        loadPointIndex : loadPointId?app.util.getDicIndex(res.data.data, loadPointId, 'id'):''
       })
     })
   },
 
   //装卸时间
-  loadTimeData:function(){
-    app.request.GET({
-      url: app.API.loadTimeNow,
-      params: {
-        pointId     : this.data.loadPointArray[this.data.loadPointIndex].id,
-      },
-      page: this,
-      successFun: true
-    }).then(res => {
-      let timeList = res.data.data
-      timeList.forEach((element,index) => {
-        timeList[index].time = element.beginTime + '~' + element.endTime
-      });
-      this.setData({
-        loadTimeArray : timeList
+  loadTimeData:function(loadPointId, loadTimeId){
+    let pointId = loadPointId? loadPointId : this.data.loadPointArray[this.data.loadPointIndex].id;
+    if(pointId && pointId != ''){
+      app.request.GET({
+        url: app.API.loadTimeNow,
+        params: {
+          pointId : pointId,
+        },
+        page: this,
+        successFun: true
+      }).then(res => {
+        let timeList = res.data.data
+        timeList.forEach((element,index) => {
+          timeList[index].time = element.beginTime + '~' + element.endTime
+        });
+        this.setData({
+          loadTimeArray : timeList,
+          loadTimeIndex : loadTimeId?app.util.getDicIndex(res.data.data, loadTimeId, 'id'):''
+        })
       })
-    })
+    }
   },
 
   //装卸时间
-  loadUserData:function(){
+  loadUserData:function(loadUserId){
     app.request.GET({
       url: app.API.roleUser,
       params: {
@@ -112,7 +117,8 @@ Page({
       successFun: true
     }).then(res => {
       this.setData({
-        loadUserArray:res.data.data
+        loadUserArray : res.data.data,
+        loadUserIndex : loadUserId?app.util.getDicIndex(res.data.data, loadUserId, 'id'):''
       })
     })
   },
@@ -124,23 +130,60 @@ Page({
     app.util.getPickerIndex(this, getIndex, e);
     switch (pickername) {
       case 'loadPoint': //客户
-        this.loadTimeData() //获取起卸时段
+        this.loadTimeData('', '') //获取起卸时段
         break;
     }
   }, 
 
+  //删除
+  delFun: function (e) {
+    let _this = this
+    let { id, loadPoint } = e.currentTarget.dataset
+    wx.showModal({
+      title: '提示!',
+      content: `删除【${loadPoint}】后不可恢复。确定要删除吗?`,
+      confirmColor: '#FF5B5B',
+      success: function (res) {
+        if (res.confirm) {
+          app.request.POST({
+            url: app.API.appointDelete,
+            params: [{
+              id: id
+            }],
+            page: _this,
+            isLoadingTxt: '删除中...',
+            successFun: true
+          }).then(res => {
+            wx.showToast({
+              title: '删除成功',
+              icon: 'success',
+              duration: 1000,
+              mask: true
+            })
+            _this.getAllocationListFun(); //刷新列表
+          })
+        } else if (res.cancel) {
+
+        }
+      }
+    })
+  },
+
   // 添加S
   showPopup(e) {
-    let { id, loadPoint, loadTime, userId } = e.currentTarget.dataset
+    let { id, loadPoint, loadTime, loadUser} = e.currentTarget.dataset
     this.setData({
-      show: true,
-      id: id,
-      loadPointId:loadPoint,//起卸地点
-      loadTimeId:loadTime,//起卸时段
-      userId:userId
+      show            : true,
+      id              : id ? id : '',
+      loadPointId     : loadPoint,//起卸地点
+      loadTimeId      : loadTime,//起卸时段
+      userId          : loadUser
     });
-    this.loadPointData()
-    this.loadUserData()
+    this.loadPointData(loadPoint);
+    this.loadUserData(loadUser);
+    if(loadPoint){
+      this.loadTimeData(loadPoint, loadTime);
+    }
   },
   onClose() {
     this.setData({
@@ -149,6 +192,9 @@ Page({
       loadPointId:'',//起卸地点
       loadTimeId:'',//起卸时段
       userId:'',//执行员
+      loadPointArray:'',
+      loadTimeArray:'',
+      loadUserArray:''
     });
   },
 
@@ -176,6 +222,7 @@ Page({
   
   //表单提交 carTaskAdd
   formSubmitAllocation: function ({detail:{value}}) {
+    let _this = this
     var warn = ""; //弹框时提示的内容
     if (value.loadPointId == '') {
       warn = "请选择装卸点位!";
@@ -188,7 +235,7 @@ Page({
       app.util.checkForm(warn);
     } else {
       app.request.POST({
-        url: app.API.appointAdd,
+        url: value.id=='' ? app.API.appointAdd : app.API.appointReplace,
         params: value,
         page: this,
         isLoadingTxt: '提交中...',
@@ -196,18 +243,14 @@ Page({
         successFun: true
       }).then(res => {
         wx.showToast({
-          title: '新增成功',
+          title: value.id=='' ? '新增成功' : '更换成功',
           icon: 'success',
-          duration: 2000,
-          mask:true,
-          complete: function () {
-            setTimeout(() => {
-              wx.navigateBack()
-            }, 1500) //延迟时间  
-          }
+          duration: 1000,
+          mask: true
         })
+        _this.onClose()
+        _this.getAllocationListFun(); //刷新列表
       })
-
     }
   },
 

+ 1 - 1
otherPages/loadAppoint/allocation.less

@@ -1,4 +1,4 @@
-/* pages/loadAppoint/index.wxss */
+/* pages/loadAppoint/allocation.wxss */
 .container{
   padding-bottom: 120rpx;
 }

+ 7 - 6
otherPages/loadAppoint/allocation.wxml

@@ -1,5 +1,4 @@
-<!--pages/loadAppoint/allocationIndex.wxml-->
-<!--pages/loadAppoint/index.wxml-->
+<!--pages/loadAppoint/allocation.wxml-->
 <view class="container listMain">
   <block wx:if="{{loginStatus}}">
     <view url="" class="addBtn" catch:tap="showPopup" hover-class="none" catchtouchmove="buttonMove" 
@@ -11,7 +10,7 @@
       <block wx:if="{{!requestStatu}}">
         <block wx:if="{{resData.length>0}}">
           <block wx:for="{{resData}}" wx:key="index">
-            <navigator url="info?id={{item.id}}&name={{item.name}}&account={{item.account}}&index={{index}}" class="listItem">
+            <navigator url="info?id={{item.id}}&loadPoint={{item.loadPoint}}&index={{index}}" class="listItem">
               <view class="title van-ellipsis">
                 <van-icon class='iconfont' name='/images/menuImg1.png' size="36rpx"></van-icon>
                 <text>{{item.loadPoint}}</text>
@@ -20,7 +19,7 @@
               <view class="time"><van-icon name="clock-o" size="18"/><text> {{ item.beginTime }} ~ {{item.endTime}}</text></view>
               
               <view class="bottomBtn">
-                <!-- <van-button type="info" size="small" data-id="{{ item.id }}" data-load-point="{{ item.loadPointId }}"  data-load-time="{{ item.loadTimeId }}" data-user-id="{{ item.userId }}" catchtap="toUpdate" style="margin-right: 20rpx;">修改</van-button> -->
+                <van-button type="info" size="small" data-id="{{ item.id }}" data-load-point="{{ item.loadPointId }}" data-load-time="{{ item.loadTimeId }}" data-load-user="{{ item.userId }}" catchtap="showPopup" style="margin-right: 20rpx;">更换</van-button>
                 <van-button type="danger" size="small" data-id="{{item.id}}" data-load-point="{{item.loadPoint}}" catchtap="delFun">删除</van-button>
               </view>
             </navigator>
@@ -53,9 +52,11 @@
 </view>
 
 <!-- 添加弹窗 -->
-<van-popup show="{{ show }}" position="bottom" round closeable custom-style="width:100%;padding:0rpx 30rpx 280rpx;" bind:close="onClose">
-  <view style="height: 90rpx;line-height: 90rpx;text-align: center;">添加起卸分配</view>
+<van-popup show="{{ show }}" position="bottom" round closeable custom-style="width:100%;padding:0rpx 30rpx 320rpx;" bind:close="onClose">
+  <view style="height: 90rpx;line-height: 90rpx;text-align: center;" wx:if="{{ id == '' }}">添加起卸分配</view>
+  <view style="height: 90rpx;line-height: 90rpx;text-align: center;" wx:else>更换起卸分配</view>
   <form bindsubmit="formSubmitAllocation">
+    <input name="id" value='{{ id }}' hidden='true' />
     <input name="appointId" value='{{ appointId }}' hidden='true' />
     <view class="part">
       <!-- 起卸点位 -->

+ 14 - 3
otherPages/loadAppoint/allocation.wxss

@@ -1,11 +1,22 @@
-/* pages/loadAppoint/index.wxss */
-.container {
+/* pages/loadAppoint/allocation.wxss */
+.container{
   padding-bottom: 120rpx;
 }
-.bottomBtn {
+.bottomBtn{
   padding-top: 20rpx;
   text-align: right;
 }
 .bottomBtn button {
   margin-left: 0 !important;
 }
+
+.user{
+  margin-top: 15rpx;
+  color: #666;
+  font-size: 24rpx;
+}
+.time{
+  margin-top: 15rpx;
+  color: #666;
+  font-size: 24rpx;
+}

+ 235 - 46
otherPages/loadAppoint/dispatch.js

@@ -1,65 +1,253 @@
-// pages/loadAppoint/allocation.js
-const app = getApp()
+// pages/loadAppoint/dispatch.js
+const app = getApp();
 Page({
 
   /**
    * 页面的初始数据
    */
   data: {
-    orderId:'',
-
+    showModal: false,
     defaultText: '请选择',
     isSubmitting: false,
 
-    loadPointArray:[],//生产工序
+    str:'&emsp;',
+    loginStatus: wx.getStorageSync('loginStatus') ? wx.getStorageSync('loginStatus') : false,
+    roleCodeList: wx.getStorageSync('roleCodeList') ? wx.getStorageSync('roleCodeList') : '',
+    searchVal: '',
+    
+    //分页
+    limit: 10,
+    requestStatu: '加载中...',
+    page: 1,
+    totalPages: 1,
+    more: false,
+    nomore: '',
+    resData:[],
+
+    show: false,
+    loadPointId:'',//装货地点
+    loadTimeId:'',//装货时段
+
+    loadPointArray:[],//装卸点位
     loadPointIndex:null,
 
-    statTime:'',
-    endTime:'',
+    loadTimeArray:[], //装卸时间
+    loadTimeIndex:null,
+
+    // loadUserArray:[], //执行员
+    // loadUserIndex:null,
   },
 
   /**
    * 生命周期函数--监听页面加载
    */
-  onLoad: function (options) {
-    
+  onLoad(options) {
+    this.setData({
+      appointId  : options.appointId,
+    })
+    //装货点位
+    this.getAllocationListFun()
+  },
+
+  //列表
+  getAllocationListFun: function () {
+    this.setData({
+      page: 1
+    })
+    let params = {
+      current   : this.data.page,
+      size      : this.data.limit,
+      appointId : this.data.appointId,
+      appointType  : '2'
+    }
+    app.request.pageFirst({
+      url: app.API.bizloaddispatchPage,
+      page: this,
+      params: params,
+    })
+  },  
+
+  //装卸点位
+  loadPointData:function(loadPointId){
+    app.request.GET({
+      url: app.API.loadPoint,
+      params: {'appointType' : '2'},
+      page: this,
+      successFun: true
+    }).then(res => {
+      this.setData({
+        loadPointArray : res.data.data,
+        loadPointIndex : loadPointId?app.util.getDicIndex(res.data.data, loadPointId, 'id'):''
+      })
+    })
   },
 
+  //装卸时间
+  loadTimeData:function(loadPointId, loadTimeId){
+    let pointId = loadPointId? loadPointId : this.data.loadPointArray[this.data.loadPointIndex].id;
+    if(pointId && pointId != ''){
+      app.request.GET({
+        url: app.API.loadTimeNow,
+        params: {
+          pointId : pointId,
+        },
+        page: this,
+        successFun: true
+      }).then(res => {
+        let timeList = res.data.data
+        timeList.forEach((element,index) => {
+          timeList[index].time = element.beginTime + '~' + element.endTime
+        });
+        this.setData({
+          loadTimeArray   : timeList,
+          loadTimeIndex   : loadTimeId != ''?app.util.getDicIndex(res.data.data, loadTimeId, 'id'):'',
+        })
+        if(loadTimeId!=''){
+          this.setData({
+            availableNumber : loadTimeId != ''?this.data.loadTimeArray[this.data.loadTimeIndex].availableNumber:'',
+            alreadyNumber   : loadTimeId != ''?this.data.loadTimeArray[this.data.loadTimeIndex].alreadyNumber:'',
+          })
+        }
+      })
+    }
+  },
+
+  //装货员
+  // loadUserData:function(loadUserId){
+  //   app.request.GET({
+  //     url: app.API.roleUser,
+  //     params: {
+  //       roleName : '装货员',
+  //     },
+  //     page: this,
+  //     successFun: true
+  //   }).then(res => {
+  //     this.setData({
+  //       loadUserArray : res.data.data,
+  //       loadUserIndex : loadUserId?app.util.getDicIndex(res.data.data, loadUserId, 'id'):''
+  //     })
+  //   })
+  // },
+
   //下拉选择
   bindPickerChange: function (e) { //下拉菜单
     let { pickername } = e.target.dataset
     let getIndex = pickername + 'Index'
     app.util.getPickerIndex(this, getIndex, e);
+    switch (pickername) {
+      case 'loadPoint': //点位
+        this.loadTimeData('', '') //获取装货时段
+        break;
+      case 'loadTime': //点位
+        this.setData({
+          availableNumber : this.data.loadTimeArray[this.data.loadTimeIndex].availableNumber,
+          alreadyNumber   : this.data.loadTimeArray[this.data.loadTimeIndex].alreadyNumber,
+        })
+        break;
+    }
+  }, 
+
+  //删除
+  delFun: function (e) {
+    let _this = this
+    let { id, loadPoint } = e.currentTarget.dataset
+    wx.showModal({
+      title: '提示!',
+      content: `删除【${loadPoint}】后不可恢复。确定要删除吗?`,
+      confirmColor: '#FF5B5B',
+      success: function (res) {
+        if (res.confirm) {
+          app.request.POST({
+            url: app.API.appointDelete,
+            params: [{
+              id: id
+            }],
+            page: _this,
+            isLoadingTxt: '删除中...',
+            successFun: true
+          }).then(res => {
+            wx.showToast({
+              title: '删除成功',
+              icon: 'success',
+              duration: 1000,
+              mask: true
+            })
+            _this.getAllocationListFun(); //刷新列表
+          })
+        } else if (res.cancel) {
+
+        }
+      }
+    })
   },
 
-  //日期选择
-  bindDateChange(e){
-    console.log(e.detail.value)
+  // 添加S
+  showPopup(e) {
+    let { id, loadPoint, loadTime} = e.currentTarget.dataset
     this.setData({
-      [e.target.dataset.pickertype]: e.detail.value
-    })
+      show            : true,
+      id              : id ? id : '',
+      loadPointId     : loadPoint,//装货地点
+      loadTimeId      : loadTime,//装货时段
+      // userId          : loadUser
+    });
+    this.loadPointData(loadPoint);
+    // this.loadUserData(loadUser);
+    if(loadPoint){
+      this.loadTimeData(loadPoint, loadTime);
+    }
+  },
+  onClose() {
+    this.setData({
+      show: false,
+      id: '',
+      loadPointId:'',//装货地点
+      loadTimeId:'',//装货时段
+      // userId:'',//执行员
+      loadPointArray:'',
+      loadTimeArray:'',
+      // loadUserArray:''
+    });
   },
 
   /**
-   * 页面上拉触底事件的处理函数
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
    */
-  bindscrolltolowerFun() {
+  onShow() {
     
   },
 
+  //页面跳转
+  toLink: function (e) {
+    let { url } = e.currentTarget.dataset
+    wx.navigateTo({
+      url: url
+    })
+  },
+  
   //表单提交 carTaskAdd
-  formSubmit: function ({detail:{value}}) {
+  formSubmitAllocation: function ({detail:{value}}) {
+    let _this = this
     var warn = ""; //弹框时提示的内容
     if (value.loadPointId == '') {
       warn = "请选择装卸点位!";
     } else if(value.loadTimeId == ''){
       warn = "请选择装卸时间!";
+    // } else if(value.userId == ''){
+    //   warn = "请选择执行员!";
     }
     if (warn != '') {
       app.util.checkForm(warn);
     } else {
       app.request.POST({
-        url: app.API.orderloadAdd,
+        url: value.id=='' ? app.API.dispatchAdd : app.API.dispatchReplace,
         params: value,
         page: this,
         isLoadingTxt: '提交中...',
@@ -67,46 +255,28 @@ Page({
         successFun: true
       }).then(res => {
         wx.showToast({
-          title: '新增成功',
+          title: value.id=='' ? '新增成功' : '更换成功',
           icon: 'success',
-          duration: 2000,
-          mask:true,
-          complete: function () {
-            setTimeout(() => {
-              wx.navigateBack()
-            }, 1500) //延迟时间  
-          }
+          duration: 1000,
+          mask: true
         })
+        _this.onClose()
+        _this.getAllocationListFun(); //刷新列表
       })
-
     }
   },
 
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-
-  },
-
   /**
    * 生命周期函数--监听页面隐藏
    */
-  onHide: function () {
+  onHide() {
 
   },
 
   /**
    * 生命周期函数--监听页面卸载
    */
-  onUnload: function () {
+  onUnload() {
 
   },
 
@@ -114,20 +284,39 @@ Page({
    * 页面相关事件处理函数--监听用户下拉动作
    */
   onPullDownRefresh: function () {
-
+    this.setData({
+      searchVal: ''
+    })
+    if (wx.getStorageSync('loginStatus')) {
+      this.getAllocationListFun();
+    } else {
+      wx.stopPullDownRefresh();
+    }
   },
 
   /**
    * 页面上拉触底事件的处理函数
    */
   onReachBottom: function () {
-    
+    this.data.page++;
+    let params = {
+      current   : this.data.page,
+      size      : this.data.limit,
+      appointId : this.data.appointId,
+      appointType  : '2'
+    }
+    app.request.pageFirst({
+      url: app.API.bizloaddispatchPage,
+      page: this,
+      params: params,
+      loadType: true //加载类型,是否是下拉加载
+    });
   },
 
   /**
    * 用户点击右上角分享
    */
-  onShareAppMessage: function () {
+  onShareAppMessage() {
 
   }
 })

+ 19 - 10
otherPages/loadAppoint/dispatch.json

@@ -1,19 +1,28 @@
 {
-  "navigationBarTitleText": "起卸分配",
+  "navigationBarTitleText": "装货分配",
+  "backgroundTextStyle": "dark",
+  "enablePullDownRefresh": true,
   "usingComponents": {
+    "van-notice-bar": "@vant/weapp/notice-bar/index",
+    "van-tab": "@vant/weapp/tab/index",
+    "van-tabs": "@vant/weapp/tabs/index",
+    "van-tag": "@vant/weapp/tag/index",
+    "van-sticky": "@vant/weapp/sticky/index",
+    "van-search": "@vant/weapp/search/index",
+    "van-icon": "@vant/weapp/icon/index",
+    "van-empty": "@vant/weapp/empty/index",
+    "van-popup": "@vant/weapp/popup/index",
+    "van-field": "@vant/weapp/field/index",
+    "van-button": "@vant/weapp/button/index",
+    "van-loading": "@vant/weapp/loading/index",
+    "van-dropdown-menu": "@vant/weapp/dropdown-menu/index",
+    "van-dropdown-item": "@vant/weapp/dropdown-item/index",
+    "van-skeleton": "@vant/weapp/skeleton/index",
     "van-checkbox": "@vant/weapp/checkbox/index",
     "van-checkbox-group": "@vant/weapp/checkbox-group/index",
     "van-uploader": "@vant/weapp/uploader/index",
     "car-num-input": "/components/CarNumInput/index",
-    "van-icon": "@vant/weapp/icon/index",
-    "van-cell": "@vant/weapp/cell/index",
     "van-cell-group": "@vant/weapp/cell-group/index",
-    "van-field": "@vant/weapp/field/index",
-    "van-button": "@vant/weapp/button/index",
-    "van-popup": "@vant/weapp/popup/index",
-    "van-datetime-picker": "@vant/weapp/datetime-picker/index",
-    "van-radio": "@vant/weapp/radio/index",
-    "van-radio-group": "@vant/weapp/radio-group/index",
-    "van-search": "@vant/weapp/search/index"
+    "van-image": "@vant/weapp/image/index"
   }
 }

+ 21 - 8
otherPages/loadAppoint/dispatch.less

@@ -1,9 +1,22 @@
-/* pages/loadAppoint/allocation.wxss */
-.dateBox{
-  display: flex;
-  background-color: #fff;
-  align-items: center;
-  .contactInput{
-    flex: 1;
-  }
+/* pages/loadAppoint/dispatch.wxss */
+.container{
+  padding-bottom: 120rpx;
+}
+.bottomBtn{
+  padding-top: 20rpx;
+  text-align: right;
+}
+.bottomBtn button {
+  margin-left: 0 !important;
+}
+
+.user{
+  margin-top: 15rpx;
+  color: #666;
+  font-size: 24rpx;
+}
+.time{
+  margin-top: 15rpx;
+  color: #666;
+  font-size: 24rpx;
 }

+ 98 - 100
otherPages/loadAppoint/dispatch.wxml

@@ -1,108 +1,106 @@
-<!--pages/loadAppoint/allocation.wxml-->
-<view class="container" style="padding-bottom:100px;">
-  <view class="height20"></view>
-  <view>
-    <form bindsubmit="formSubmit">
-      <input name="orderId" value='{{ orderId }}' hidden='true' />
-      <!-- <van-field label="订单编号" value="{{ orderNumber }}" input-align="right" readonly></van-field> -->
-      <view class="part">
-        <!-- 负责人 -->
-        <van-field label="负责人" required input-align="right" bindtap="hideKeybord" is-link>
-          <view slot="input" style="width: 100%;">
-            <input name="loadPointId" value='{{loadPointArray[loadPointIndex].id}}' hidden='true' />
-            <picker bindchange="bindPickerChange" value="{{loadPointIndex}}" range="{{loadPointArray}}" range-key="loadPoint" data-pickername='loadPoint'>
-              <view class="selectPlaceholder"> {{loadPointArray[loadPointIndex].loadPoint?loadPointArray[loadPointIndex].loadPoint:defaultText}}</view>
-            </picker>
-          </view>
-        </van-field>
-
-        <!-- 开始时间 -->
-        <van-field label="时间" required readonly input-align="right" title-width="80rpx">
-          <input name="timeSlot" value="{{statTime+'~'+endTime}}" hidden='true' />
-          <view class="dateBox" slot="input" style="flex:1">
-            <view class="contactInput">
-              <van-field label="" name="statTime" placeholder="请选择" value="" input-align="center">
-                <view slot="input" style="width: 100%;">
-                  <picker mode="date" fields="day" name="statTime" value="{{statTime}}" bindchange="bindDateChange" data-pickertype='statTime'>
-                    <view class="selectPlaceholder"> {{statTime?statTime:'选择开始时间'}}</view>
-                  </picker>
-                </view>
-              </van-field>
-            </view>
-            <view>-</view>
-            <view class="contactInput">
-              <van-field label="" name="endTime" placeholder="请选择" value="" input-align="center">
-                <view slot="input" style="width: 100%;">
-                  <picker mode="date" fields="day" name="endTime" value="{{endTime}}" bindchange="bindDateChange" data-pickertype='endTime'>
-                    <view class="selectPlaceholder"> {{endTime?endTime:'选择结束时间'}}</view>
-                  </picker>
-                </view>
-              </van-field>
-            </view>
-          </view>
-        </van-field>
-
-        <!-- 吊机员 -->
-        <van-field label="吊机员" required input-align="right" bindtap="hideKeybord" is-link>
-          <view slot="input" style="width: 100%;">
-            <input name="loadPointId" value='{{loadPointArray[loadPointIndex].id}}' hidden='true' />
-            <picker bindchange="bindPickerChange" value="{{loadPointIndex}}" range="{{loadPointArray}}" range-key="loadPoint" data-pickername='loadPoint'>
-              <view class="selectPlaceholder"> {{loadPointArray[loadPointIndex].loadPoint?loadPointArray[loadPointIndex].loadPoint:defaultText}}</view>
-            </picker>
-          </view>
-        </van-field>
-
-        <!-- 操作员 -->
-        <van-field label="操作员" required input-align="right" bindtap="hideKeybord" is-link>
-          <view slot="input" style="width: 100%;">
-            <input name="loadPointId" value='{{loadPointArray[loadPointIndex].id}}' hidden='true' />
-            <picker bindchange="bindPickerChange" value="{{loadPointIndex}}" range="{{loadPointArray}}" range-key="loadPoint" data-pickername='loadPoint'>
-              <view class="selectPlaceholder"> {{loadPointArray[loadPointIndex].loadPoint?loadPointArray[loadPointIndex].loadPoint:defaultText}}</view>
-            </picker>
-          </view>
-        </van-field>
-
-        <!-- 巡检员 -->
-        <van-field label="巡检员" required input-align="right" bindtap="hideKeybord" is-link>
-          <view slot="input" style="width: 100%;">
-            <input name="loadPointId" value='{{loadPointArray[loadPointIndex].id}}' hidden='true' />
-            <picker bindchange="bindPickerChange" value="{{loadPointIndex}}" range="{{loadPointArray}}" range-key="loadPoint" data-pickername='loadPoint'>
-              <view class="selectPlaceholder"> {{loadPointArray[loadPointIndex].loadPoint?loadPointArray[loadPointIndex].loadPoint:defaultText}}</view>
-            </picker>
-          </view>
-        </van-field>
+<!--pages/loadAppoint/dispatch.wxml-->
+<view class="container listMain">
+  <block wx:if="{{loginStatus}}">
+    <view url="" class="addBtn" catch:tap="showPopup" hover-class="none" catchtouchmove="buttonMove" 
+    bindtouchstart="buttonStart" bindtouchend="buttonEnd" style="top:{{buttonTop}}px;left:{{buttonLeft}}px;" wx:if="{{roleCodeList == 'dispatcher' || roleCodeList == 'bizAdmin'}}">
+      <van-icon name="plus" size="30px" />
+    </view>
 
-        <!-- 起卸点 -->
-        <van-field label="起卸点" required input-align="right" bindtap="hideKeybord" is-link>
-          <view slot="input" style="width: 100%;">
-            <input name="loadPointId" value='{{loadPointArray[loadPointIndex].id}}' hidden='true' />
-            <picker bindchange="bindPickerChange" value="{{loadPointIndex}}" range="{{loadPointArray}}" range-key="loadPoint" data-pickername='loadPoint'>
-              <view class="selectPlaceholder"> {{loadPointArray[loadPointIndex].loadPoint?loadPointArray[loadPointIndex].loadPoint:defaultText}}</view>
-            </picker>
+    <view class="width710">
+      <block wx:if="{{!requestStatu}}">
+        <block wx:if="{{resData.length>0}}">
+          <block wx:for="{{resData}}" wx:key="index">
+            <navigator url="info?id={{item.id}}&loadPoint={{item.loadPoint}}&index={{index}}" class="listItem">
+              <view class="title van-ellipsis">
+                <van-icon class='iconfont' name='/images/menuImg1.png' size="36rpx"></van-icon>
+                <text>{{item.loadPoint}}</text>
+              </view>
+              <!-- <view class="user"><van-icon name="user-o" size="18"/><text> {{ item.userName }}</text></view> -->
+              <view class="info"><van-icon name="coupon-o" size="18"/><text> 可约次数:{{ item.availableNumber }}</text> / <text> 已约次数:{{ item.alreadyNumber }}</text></view>
+              <view class="time"><van-icon name="clock-o" size="18"/><text> {{ item.beginTime }} ~ {{item.endTime}}</text></view>
+              
+              <view class="bottomBtn">
+                <van-button type="info" size="small" data-id="{{ item.id }}" data-load-point="{{ item.loadPointId }}" data-load-time="{{ item.loadTimeId }}" catchtap="showPopup" style="margin-right: 20rpx;">更换</van-button>
+                <van-button type="danger" size="small" data-id="{{item.id}}" data-load-point="{{item.loadPoint}}" catchtap="delFun">删除</van-button>
+              </view>
+            </navigator>
+          </block>
+          <!-- 底部加载动画 -->
+          <view class='more'>
+            <block wx:if="{{more}}">
+              <van-loading size="24px" color="#1989fa">加载中...</van-loading>
+            </block>
+            <block wx:else>{{nomore}}</block>
           </view>
-        </van-field>
+          <view style="height: 180rpx;"> </view>
+        </block>
+        <block wx:else>
+          <van-empty description="未搜索到装货分配记录" image="/images/null1.png" />
+        </block>
+      </block>
+    </view>
+  </block>
+  <block wx:else>
+    <view>
+      <van-empty image="/images/loginNull.png">
+        <view slot="description" style="text-align: center;">
+          <text style="display:block;margin-bottom: 20rpx;">您还未登录,登录后查看更多~</text>
+          <van-button type="info" bindtap="toLogin">立即登录</van-button>
+        </view>
+      </van-empty>
+    </view>
+  </block>
+</view>
 
-        <!-- 起卸时段 -->
-        <van-field label="起卸时段" required input-align="right" bindtap="hideKeybord" wx:if="{{loadTimeArray.length>0}}" type="textarea" autosize  is-link>
-          <view slot="input" style="width: 100%;">
-            <input name="loadTimeId" value='{{loadTimeArray[loadTimeIndex].id}}' hidden='true' />
-            <picker bindchange="bindPickerChange" value="{{loadTimeIndex}}" range="{{loadTimeArray}}" range-key="time" data-pickername='loadTime'>
-              <view class="selectPlaceholder">{{loadTimeArray[loadTimeIndex].time?loadTimeArray[loadTimeIndex].time:defaultText}}</view>
-            </picker>
-          </view>
-        </van-field>
-        <van-field required wx:else label="起卸时段" name="deliveryTimeId" value="" readonly input-align="right" placeholder="请先选择起卸点" placeholder-style="color:red;" />
+<!-- 添加弹窗 -->
+<van-popup show="{{ show }}" position="bottom" round closeable custom-style="width:100%;padding:0rpx 30rpx 320rpx;" bind:close="onClose">
+  <view style="height: 90rpx;line-height: 90rpx;text-align: center;" wx:if="{{ id == '' }}">添加装货分配</view>
+  <view style="height: 90rpx;line-height: 90rpx;text-align: center;" wx:else>更换装货分配</view>
+  <form bindsubmit="formSubmitAllocation">
+    <input name="id" value='{{ id }}' hidden='true' />
+    <input name="appointId" value='{{ appointId }}' hidden='true' />
+    <view class="part">
+      <!-- 装货点位 -->
+      <van-field label="装货点位" required input-align="right" bindtap="hideKeybord" is-link>
+        <view slot="input" style="width: 100%;">
+          <input name="loadPointId" value='{{loadPointArray[loadPointIndex].id}}' hidden='true' />
+          <picker bindchange="bindPickerChange" value="{{loadPointIndex}}" range="{{loadPointArray}}" range-key="loadPoint" data-pickername='loadPoint'>
+            <view class="selectPlaceholder"> {{loadPointArray[loadPointIndex].loadPoint?loadPointArray[loadPointIndex].loadPoint:defaultText}}</view>
+          </picker>
+        </view>
+      </van-field>
 
+      <!-- 装货时段 -->
+      <van-field label="装货时段" required input-align="right" bindtap="hideKeybord" wx:if="{{loadTimeArray.length>0}}" type="textarea" autosize  is-link>
+        <view slot="input" style="width: 100%;">
+          <input name="loadTimeId" value='{{loadTimeArray[loadTimeIndex].id}}' hidden='true' />
+          <picker bindchange="bindPickerChange" value="{{loadTimeIndex}}" range="{{loadTimeArray}}" range-key="time" data-pickername='loadTime'>
+            <view class="selectPlaceholder">{{loadTimeArray[loadTimeIndex].time?loadTimeArray[loadTimeIndex].time:defaultText}}</view>
+          </picker>
+        </view>
+      </van-field>
+      <van-field required wx:else label="装货时段" name="loadTimeId" value="" readonly input-align="right" placeholder="请先选择装货点位" placeholder-style="color:red;" />
+      
+      <!-- 执行员 -->
+      <!-- <van-field label="执行员" required input-align="right" bindtap="hideKeybord" is-link>
+        <view slot="input" style="width: 100%;">
+          <input name="userId" value='{{loadUserArray[loadUserIndex].id}}' hidden='true' />
+          <picker bindchange="bindPickerChange" value="{{loadUserIndex}}" range="{{loadUserArray}}" range-key="name" data-pickername='loadUser'>
+            <view class="selectPlaceholder"> {{loadUserArray[loadUserIndex].name?loadUserArray[loadUserIndex].name:defaultText}}</view>
+          </picker>
+        </view>
+      </van-field> -->
 
-      </view>
+      <van-field wx:if="{{loadTimeArray[loadTimeIndex].id}}" label="可约次数" name="availableNumber" value="{{ availableNumber }}" readonly input-align="right" ></van-field>
+      <van-field wx:if="{{loadTimeArray[loadTimeIndex].id}}" label="已约次数" name="alreadyNumber" value="{{ alreadyNumber }}" readonly input-align="right" ></van-field>
 
-      <view class="fixedBtn submitBtn">
-        <van-button loading="{{isSubmitting}}" round block disabled="{{isSubmitting}}" loading-text="{{isSubmitting?'提交中...':''}}" type="info" form-type="submit">确定
-        </van-button>
-      </view>
+    </view>
 
-    </form>
-  </view>
-</view>
+    <view class="fixedBtn submitBtn">
+      <van-button loading="{{isSubmitting}}" round block disabled="{{isSubmitting}}" loading-text="{{isSubmitting?'提交中...':''}}" type="info" form-type="submit">确定
+      </van-button>
+    </view>
+  </form>
+</van-popup>
 
-<wxs module="filters" src="../../utils/filter.wxs"></wxs>
+<wxs module="filters" src="../../utils/filter.wxs"></wxs>

+ 20 - 7
otherPages/loadAppoint/dispatch.wxss

@@ -1,9 +1,22 @@
-/* pages/loadAppoint/allocation.wxss */
-.dateBox {
-  display: flex;
-  background-color: #fff;
-  align-items: center;
+/* pages/loadAppoint/dispatch.wxss */
+.container{
+  padding-bottom: 120rpx;
 }
-.dateBox .contactInput {
-  flex: 1;
+.bottomBtn{
+  padding-top: 20rpx;
+  text-align: right;
 }
+.bottomBtn button {
+  margin-left: 0 !important;
+}
+
+.user{
+  margin-top: 15rpx;
+  color: #666;
+  font-size: 24rpx;
+}
+.time{
+  margin-top: 15rpx;
+  color: #666;
+  font-size: 24rpx;
+}

+ 154 - 8
otherPages/loadAppoint/index.js

@@ -19,9 +19,11 @@ Page({
     more: false,
     nomore: '',
     resData:[],
-    
-    allocationLoadShow:false, //起卸调度列表弹窗
-    dispatchLoadShow:false, //装载车调度列表弹窗
+
+    showOver: false,
+    showFill: false,
+    endReason:'',//结束说明
+    fillWeight:'',//填报重量
 
   },
 
@@ -29,7 +31,58 @@ Page({
    * 生命周期函数--监听页面加载
    */
   onLoad(options) {
+    //预约审核状态
+    let treeData = app.globalData.treeArr
+    for (const element of treeData) {
+      let arrStr;
+      switch (element.dictValue) {
+        case 'arrive_status':
+          arrStr = "arriveStatusArray";
+          break;
+      }
+      let getArray =[{
+        dictValue: "",
+        dictLabel: "全部状态"
+      }]
+      this.setData({
+        [arrStr]: getArray.concat(element.children)
+      })
+    }
+
+    this.setData({
+      safeAreaHeight: app.globalData.windowInfo.screenHeight - app.globalData.systemInfo.safeArea.bottom
+    })
+
+    // 使用选择器选择节点
+    this.getFilterHeight()
+    //获取页面高度设置新增按钮的初始位置
+    var that = this;
+    wx.getSystemInfo({
+      success: function (res) {
+        // 高度,宽度 单位为px
+        that.setData({
+          windowHeight: res.windowHeight, //屏幕宽度、高度
+          windowWidth: res.windowWidth,
+          buttonTop: res.windowHeight * 0.8 - that.data.safeAreaHeight-50, //这里定义按钮的初始位置
+          buttonLeft: res.windowWidth * 0.80, //这里定义按钮的初始位置
+        })
+      }
+    })
+  },
 
+  //获取顶部筛选区域的高度
+  getFilterHeight:function(){
+    let that = this;
+    // 使用顶部筛选高度选择器选择节点的高度
+    const query = wx.createSelectorQuery();
+    query.select('.topSeach').boundingClientRect(function (rect) {
+      if(rect){
+        that.setData({
+          filterWidth: rect.width,
+          filterHeight: rect.height,
+        });
+      }
+    }).exec();
   },
 
   /**
@@ -88,9 +141,9 @@ Page({
       page: 1
     })
     let params = {
-      current: this.data.page,
-      size: this.data.limit,
-      licenseNumber:this.data.searchVal
+      current   : this.data.page,
+      size      : this.data.limit,
+      loadNumber: this.data.searchVal
     }
     app.request.pageFirst({
       url: app.API.bizloadappointPage,
@@ -135,7 +188,7 @@ Page({
     let params = {
       current: this.data.page,
       size: this.data.limit,
-      licenseNumber:this.data.searchVal,
+      loadNumber:this.data.searchVal,
     }
     app.request.pageOther({
       url: app.API.appointmentList,
@@ -150,5 +203,98 @@ Page({
    */
   onShareAppMessage() {
 
-  }
+  },
+
+
+  // 结束endLoad
+  showPopupOver(e) {
+    let { id } = e.currentTarget.dataset
+    this.setData({
+      showOver : true,
+      id   : id
+    });
+  },
+  onCloseOver() {
+    this.setData({
+      showOver: false,
+      id: '',
+      endReason: ''
+    });
+  },
+  // 结束表单提交 
+  formSubmitOver: function ({detail:{value}}) {
+    let _this = this
+    var warn = ""; //弹框时提示的内容
+    if (value.endReason == '') {
+      warn = "请输入结束说明!";
+    } 
+    if (warn != '') {
+      app.util.checkForm(warn);
+    } else {
+      app.request.POST({
+        url: app.API.endLoad,
+        params: value,
+        page: this,
+        isLoadingTxt: '提交中...',
+        isSubmitting: true,
+        successFun: true
+      }).then(res => {
+        wx.showToast({
+          title: '订单结束成功',
+          icon: 'success',
+          duration: 1000,
+          mask: true
+        })
+        _this.onCloseOver()
+        _this.getListFun(); //刷新列表
+      })
+    }
+  },
+
+  // 填报
+  showPopupFill(e) {
+    let { id } = e.currentTarget.dataset
+    this.setData({
+      showFill : true,
+      id   : id
+    });
+  },
+  onCloseFill() {
+    this.setData({
+      showFill: false,
+      id: '',
+      fillWeight: ''
+    });
+  },
+  // 填报表单提交 
+  formSubmitFill: function ({detail:{value}}) {
+    let _this = this
+    var warn = ""; //弹框时提示的内容
+    if (value.fillWeight == '') {
+      warn = "请输入填报重量!";
+    } 
+    if (warn != '') {
+      app.util.checkForm(warn);
+    } else {
+      app.request.POST({
+        url: app.API.fillLoad,
+        params: value,
+        page: this,
+        isLoadingTxt: '提交中...',
+        isSubmitting: true,
+        successFun: true
+      }).then(res => {
+        wx.showToast({
+          title: '填报成功',
+          icon: 'success',
+          duration: 1000,
+          mask: true
+        })
+        _this.onCloseFill()
+        _this.getListFun(); //刷新列表
+      })
+    }
+  },
+
+
 })

+ 1 - 1
otherPages/loadAppoint/index.json

@@ -1,5 +1,5 @@
 {
-  "navigationBarTitleText": "起卸分配",
+  "navigationBarTitleText": "起卸订单管理",
   "backgroundTextStyle": "dark",
   "enablePullDownRefresh": true,
   "usingComponents": {

+ 50 - 5
otherPages/loadAppoint/index.wxml

@@ -16,7 +16,7 @@
       <block wx:if="{{!requestStatu}}">
         <block wx:if="{{resData.length>0}}">
           <block wx:for="{{resData}}" wx:key="index">
-            <navigator url="info?id={{item.id}}&name={{item.name}}&account={{item.account}}&index={{index}}" class="listItem">
+            <navigator url="info?id={{item.id}}&loadNumber={{item.loadNumber}}&index={{index}}" class="listItem">
               <view class="title van-ellipsis">
                 <van-icon class='iconfont' name='/images/codeNumber.png' size="36rpx"></van-icon>
                 <text>{{item.loadNumber}}</text>
@@ -31,10 +31,14 @@
               <view class="info"><text>订单重量:{{item.orderWeight + '吨'}}</text></view>
               <view class="info"><text>单价:{{item.orderPrice + ' 元/吨'}}</text> / <text>总价:{{item.orderAmount + ' 元'}}</text></view>
              
-              <view class="bottomBtn" wx:if="{{ roleCodeList == 'dispatcher' && (item.status == '4' || item.status == '5' || item.status == '6') && item.arriveStatus == '2' }}">
-                <van-button type="primary" size="small" data-url="allocation?appointId={{item.id}}" catchtap="toLink" style="margin-right: 20rpx;">起卸调度</van-button>
+              <view class="bottomBtn" wx:if="{{ (roleCodeList == 'dispatcher' && (item.status == '4' || item.status == '5' || item.status == '6') && item.arriveStatus == '2') || (roleCodeList == 'bizAdmin' && (item.status == '5' || item.status == '6')) || ( roleCodeList == 'load' && item.status == '7') }}">
+                <van-button type="primary" size="small" data-url="allocation?appointId={{item.id}}" wx:if="{{ roleCodeList == 'dispatcher' && (item.status == '4' || item.status == '5' || item.status == '6') && item.arriveStatus == '2' }}" catchtap="toLink" style="margin-right: 20rpx;">起卸调度</van-button>
 
-                <van-button type="info" size="small" data-url="dispatch?appointId={{item.id}}" catchtap="toLink" style="margin-right: 20rpx;">装卸调度</van-button>
+                <van-button type="info" size="small" data-url="dispatch?appointId={{item.id}}" wx:if="{{ roleCodeList == 'dispatcher' && (item.status == '4' || item.status == '5' || item.status == '6') && item.arriveStatus == '2' }}" catchtap="toLink" style="margin-right: 20rpx;">装货调度</van-button>
+
+                <van-button type="danger" size="small" data-id="{{ item.id }}" data-load-number="{{ item.loadNumber }}" wx:if="{{ roleCodeList == 'bizAdmin' && (item.status == '5' || item.status == '6')}}" catchtap="showPopupOver" style="margin-right: 20rpx;">结束</van-button>
+
+                <van-button type="info" size="small" data-id="{{item.id}}" wx:if="{{ roleCodeList == 'load' && item.status == '7' }}" catchtap="showPopupFill">填报</van-button>
               </view>
             </navigator>
           </block>
@@ -48,7 +52,7 @@
           <view style="height: 180rpx;"> </view>
         </block>
         <block wx:else>
-          <van-empty description="未搜索到预约记录" image="/images/null1.png" />
+          <van-empty description="未搜索到起卸订单记录" image="/images/null1.png" />
         </block>
       </block>
     </view>
@@ -65,4 +69,45 @@
   </block>
 </view>
 
+<!-- 结束 -->
+<van-popup show="{{ showOver }}" position="bottom" round closeable custom-style="width:100%;padding:0rpx 30rpx 160rpx;" bind:close="onClose">
+  <view style="height: 90rpx;line-height: 90rpx;text-align: center;">结束</view>
+  <form bindsubmit="formSubmitOver">
+    <view class="part">
+      <view class="height20"> </view>
+      <input name="id" value='{{id}}' hidden='true' />      
+      <van-field label="结束说明" required name="endReason" value="{{ endReason }}" type="textarea" input-align="right" placeholder="请输入结束说明" autosize></van-field>
+    </view>
+
+    <view class="submitBtn">
+      <view style="padding-top: 60rpx;">
+        <van-button block round type="info" form-type="submit" color="#0396FF">提交</van-button>
+      </view>
+    </view>
+  </form>
+</van-popup>
+
+<!-- 填报 -->
+<van-popup show="{{ showFill }}" position="bottom" round closeable custom-style="width:100%;padding:0rpx 30rpx 160rpx;" bind:close="onClose">
+  <view style="height: 90rpx;line-height: 90rpx;text-align: center;">填报</view>
+  <form bindsubmit="formSubmitFill">
+    <view class="part">
+      <view class="height20"> </view>
+      <input name="id" value='{{id}}' hidden='true' />      
+      <van-field label="起卸重量" required type="digit" required name="fillWeight" value="{{ fillWeight }}" placeholder="请输入起卸重量" input-align="right" border="{{ false }}">
+          <view slot="right-icon">
+            <text>吨</text>
+          </view>
+        </van-field>
+    </view>
+
+    <view class="submitBtn">
+      <view style="padding-top: 60rpx;">
+        <van-button block round type="info" form-type="submit" color="#0396FF">提交</van-button>
+      </view>
+    </view>
+  </form>
+</van-popup>
+
+
 <wxs module="filters" src="../../utils/filter.wxs"></wxs>

+ 4 - 3
otherPages/loadAppoint/info.js

@@ -12,6 +12,7 @@ Page({
       { label:'其他预约',value:'3' },
     ], //预约类型
     info: {},
+    appointTypeArray:[],//订单类型
     fileList:[], //司机回签图片
   },
 
@@ -27,9 +28,9 @@ Page({
         case 'load_appoint_type':
           arrStr = "appointTypeArray";
           break;
-        case 'load_appoint_status':
-          arrStr = "appointStatusArray";
-          break;
+        // case 'load_appoint_status':
+        //   arrStr = "appointStatusArray";
+        //   break;
       }
       this.setData({
         [arrStr]: element.children

+ 6 - 4
otherPages/loadAppoint/info.wxml

@@ -3,8 +3,7 @@
   <view class="part">
     <van-field label="预约单号" input-align="right" model:value="{{info.loadNumber}}" readonly></van-field>
     <van-field label="订单类型" input-align="right" readonly>
-      <text slot="button" class="status status{{info.orderType}}">{{filters.codeAnalysis(appointTypeArray, info.orderType, 'dictValue', 'dictLabel')}} 
-      </text>
+      <text slot="button" class="status status{{info.orderType}}">{{filters.codeAnalysis(appointTypeArray, info.orderType, 'dictValue', 'dictLabel')}} </text>
     </van-field>
     <van-field label="客户名称" input-align="right" model:value="{{info.customerName }}" readonly></van-field>
     <van-field label="联系人" input-align="right" model:value="{{info.customerContact }}" readonly></van-field>
@@ -17,12 +16,15 @@
     <van-field label="订单总额" input-align="right" model:value="{{info.orderAmount +'元'}}" readonly></van-field>
     <van-field label="运费单价" input-align="right" model:value="{{info.freightPrice +'元/吨'}}" readonly></van-field>
     <van-field label="订单状态" input-align="right" readonly>
-      <text slot="button" class="status orderStatus{{info.status}}">{{filters.codeAnalysis(appointStatusArray, info.status, 'dictValue', 'dictLabel')}} 
-      </text>
+      <text slot="button" class="status orderStatus{{info.status}}">{{info.statusName}}</text>
     </van-field>
     <van-field label="船运供应商" input-align="right" model:value="{{info.supplierName}}" readonly></van-field>
     <van-field label="创建时间" input-align="right" model:value="{{info.createTime}}" readonly></van-field>
     <van-field label="创建人" input-align="right" model:value="{{info.createUserName}}" readonly></van-field>
+
+    <van-field label="结束说明" input-align="right" model:value="{{info.endReason}}" readonly wx:if="{{ info.endReason != '' }}"></van-field>
+    <van-field label="填报重量" input-align="right" model:value="{{info.fillWeight}}" readonly wx:if="{{ info.fillWeight != '' }}"></van-field>
+    <van-field label="填报时间" input-align="right" model:value="{{info.fillTime}}" readonly wx:if="{{ info.fillTime != '' }}"></van-field>
   
     <van-field center clearable label="司机回签" placeholder="签字图片" border="{{ false }}" use-button-slot class="radioHeight fieldAutoHeight">
       <view slot="input" class="radioHeightBx" wx:if="{{ info.customerSign }}">

+ 6 - 6
otherPages/loadArrive/index.js

@@ -79,7 +79,7 @@ Page({
 
     // 使用选择器选择节点
     this.getFilterHeight()
-  //获取页面高度设置新增按钮的初始位置
+    //获取页面高度设置新增按钮的初始位置
     var that = this;
     wx.getSystemInfo({
       success: function (res) {
@@ -223,18 +223,18 @@ Page({
     })
   },
 
-  //业务员进行确认
-  comform: function (e) {
+  //船主进行确认
+  confirmFun: function (e) {
     let _this = this
-    let { id, orderNumber } = e.currentTarget.dataset
+    let { id, arriveNumber } = e.currentTarget.dataset
     wx.showModal({
       title: '提示!',
-      content: `确认【${orderNumber}】后不可取消。确定现在确认订单吗?`,
+      content: `报港预约订单号【${arriveNumber}】,确定现在确认该订单吗?`,
       confirmColor: '#FF5B5B',
       success: function (res) {
         if (res.confirm) {
           app.request.POST({
-            url: app.API.orderConfirm,
+            url: app.API.bizloadarriveConfirm,
             params: {
               id: id
             },

+ 5 - 4
otherPages/loadArrive/index.wxml

@@ -48,13 +48,14 @@
               <view class="info"><text>预约单号:{{ item.arriveNumber }}</text></view>
               <view class="time"><text>到港时间:{{item.arriveTime?filters.tosubStr(item.arriveTime,0,16):''}}</text></view>
               
-              <view class="bottomBtn" wx:if="{{ (roleCodeList == 'ship' && item.status != '2') || (roleCodeList == 'bizAdmin' && item.status == '1') }}">
-                <van-button type="info" size="small" data-url="edit?index={{index}}" catchtap="toLink" style="margin-right: 20rpx;" wx:if="{{roleCodeList == 'ship' && item.status != '2'}}">修改</van-button>
+              <view class="bottomBtn" wx:if="{{ (roleCodeList == 'ship' && (item.status == '1' || item.status == '3')) || (roleCodeList == 'bizAdmin' && item.status == '1') || (roleCodeList == 'ship' && item.loadStatus == '8' && item.status == '2')}}">
+                <van-button type="info" size="small" data-url="edit?index={{index}}" catchtap="toLink" style="margin-right: 20rpx;" wx:if="{{roleCodeList == 'ship' && item.status == '3'}}">修改</van-button>
 
-                <van-button type="danger" size="small" data-id="{{item.id}}" data-arrive-number="{{item.arriveNumber}}" catchtap="delFun" style="margin-right: 20rpx;" wx:if="{{roleCodeList == 'ship' && item.status != '2'}}">删除</van-button>
+                <van-button type="danger" size="small" data-id="{{item.id}}" data-arrive-number="{{item.arriveNumber}}" catchtap="delFun" style="margin-right: 20rpx;" wx:if="{{roleCodeList == 'ship' && (item.status == '1' || item.status == '3')}}">删除</van-button>
                 
                 <van-button type="primary" size="small" data-id="{{item.id}}" data-approve-type="one" catchtap="showPopup" wx:if="{{roleCodeList == 'bizAdmin' && item.status == '1'}}">审核</van-button>
-                
+
+                <van-button type="warning" size="small" data-id="{{item.id}}" data-arrive-number="{{item.arriveNumber}}" catchtap="confirmFun" style="margin-right: 20rpx;" wx:if="{{roleCodeList == 'ship' && item.loadStatus == '8' && item.status == '2'}}">确认</van-button>
               </view>
             </navigator>
           </block>

+ 2 - 2
pages/workstand/index.js

@@ -7,8 +7,8 @@ Page({
   data: {
     loginStatus: wx.getStorageSync('loginStatus') ? wx.getStorageSync('loginStatus') : false,
     roleCodeList: wx.getStorageSync('roleCodeList') ? wx.getStorageSync('roleCodeList') : '',
+    //"bizAdmin"管理员, "driver"司机, "customer"用友客户, "ship"船主, "sale"销售, "dispatcher"调度员, "send"发货员, "load"起卸员
     menuData:[
-      //"bizAdmin"管理员, "driver"司机, "customer"用友客户, "ship"船主, "sale"销售, "dispatcher"调度员, "send"发货员
       {url:'/pages/index/index',flowName:'扫码预约',flowIcon:'',iconfont:'yuyue',color:"#00a8ff",role:["driver","customer", "ship"]},
       {url:'/pages/weighingRecord/index',flowName:'过磅记录',flowIcon:'',iconfont:'xuexijilu-',color:"#26CA83",role:["bizAdmin","driver", "ship"]},
 
@@ -16,7 +16,7 @@ Page({
 
       {url:'/pages/salesOrderMan/index',flowName:'物流订单',flowIcon:'',iconfont:'xiaoshouguanli3',color:"#20A0E3",role:["bizAdmin","sale","customer","dispatcher"]},
       
-      {url:'/otherPages/loadAppoint/index',flowName:'起卸分配',flowIcon:'',iconfont:'fenpei',color:"#6c5ce7",role:["dispatcher","bizAdmin"]},
+      {url:'/otherPages/loadAppoint/index',flowName:'起卸订单',flowIcon:'',iconfont:'fenpei',color:"#6c5ce7",role:["load","bizAdmin", "dispatcher"]},
 
       {url:'/pages/reservationMan/index',flowName:'预约管理',flowIcon:'',iconfont:'yuyueguanli2',color:"#FF6160",role:["bizAdmin"]},
 

+ 7 - 1
utils/api.js

@@ -93,6 +93,9 @@ const api = {
   'bizloadappointDetail':'/biz/bizloadappoint/detail',//详情
   'bizloadappointAudit':'/biz/bizloadappoint/audit',//审核
   'bizloadappointSupplier':'/biz/bizloadappointsupplier/getList',//起卸获取供应商
+  'endLoad' : '/biz/bizloadappoint/endLoad', //结束订单
+  'fillLoad' : '/biz/bizloadappoint/fillLoad', //填报订单
+  
   'bizloaddispatchPage':'/biz/bizloaddispatch/getPageList',//获取起卸调度-分页列表   起卸调度loadType=1   装载车loadType=2
   
   'appointAdd':'/biz/bizloaddispatch/addLoad',//起卸添加
@@ -110,7 +113,10 @@ const api = {
   'bizloadarriveAdd':'/biz/bizloadarrive/add',//添加
   'bizloadarriveEdit':'/biz/bizloadarrive/edit',//编辑
   'bizloadarriveDelete':'/biz/bizloadarrive/delete',//删除
-  'bizloadarriveAudit':'/biz/bizloadarrive/auditArrive',//审核
+  'bizloadarriveAudit':'/biz/bizloadarrive/auditArrive',//审核(管理员)
+  'bizloadarriveConfirm':'/biz/bizloadarrive/arriveConfirm',//确认(船主)
+
+