소스 검색

管桩预约和起卸预约

shasha 4 일 전
부모
커밋
23b2161723

+ 81 - 44
pages/index/index.js

@@ -35,7 +35,13 @@ Page({
       { label:'充电预约',value:'1' },
       { label:'管桩预约',value:'2' },
       { label:'其他预约',value:'3' },
-    ], //预约类型
+    ], 
+
+    appointmentTypeArray: [{
+      dictValue: "",
+      dictLabel: "全部状态"
+    }],
+    appointmentTypeIndex: 0,
 
     appointmentStatusArray: [{
       dictValue: "",
@@ -261,7 +267,7 @@ Page({
         this.getListFun();
       }
 
-      if(this.data.appointmentStatusArray.length==1){
+      if(this.data.appointmentStatusArray.length==1 || this.data.appointmentTypeArray.length==1){
         this.getTree()
       }
     }
@@ -289,6 +295,21 @@ Page({
           })
         }
       }
+      if(this.data.appointmentTypeArray.length==1){
+        let treeData = res.data.data
+        for (const element of treeData) {
+          let arrStr;
+          switch (element.dictValue) {
+            case 'appointment_type':
+              arrStr = "appointmentTypeArray";
+              break;
+          }
+          let getArray = this.data.appointmentTypeArray
+          this.setData({
+            [arrStr]: getArray.concat(element.children)
+          })
+        }
+      }
       
     })
   },
@@ -419,47 +440,51 @@ Page({
 
   //扫码预约申请
   changeAdd() {
-    wx.scanCode({
-      success: (res) => {
-        let info = JSON.parse(res.result.trim())
-        console.log(info)
-        //console.log(JSON.parse(info)) //{id: "1712651156370632706", projectCode: "D456"}
-        if(info.type=='1'){
-          // 砂石预约
-          wx.navigateTo({
-            url: 'add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
-          })
-        }else if(info.type=='2'){
-          // 临时预约
-          wx.navigateTo({
-            url: '/pages/reservationTemp/add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
-          })
-        }else if(info.type=='3'){
-          // 起卸预约
-          wx.navigateTo({
-            url: '/pages/reservationLoadAppoint/add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
-          })
-        }else if(info.type=='4'){
-          // 充电桩预约
-          wx.navigateTo({
-            url: '/pages/reservationChargestation/add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
-          })
-        }else if(info.type=='5'){
-          // 管桩预约
-          wx.navigateTo({
-            url: '/pages/reservationPipe/add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
-          })
-        }
-        
-      },
-      fail: (res) => {
-        wx.showToast({
-          title: '请重试!',
-          icon: 'error',
-          duration: 2000
-        })
-      }
+    wx.navigateTo({
+      url: '/pages/reservationLoadAppoint/add?orderId=1940665005240860674'
     })
+
+    // wx.scanCode({
+    //   success: (res) => {
+    //     let info = JSON.parse(res.result.trim())
+    //     console.log(info)
+    //     //console.log(JSON.parse(info)) //{id: "1712651156370632706", projectCode: "D456"}
+    //     if(info.type=='1'){
+    //       // 砂石预约
+    //       wx.navigateTo({
+    //         url: 'add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
+    //       })
+    //     // }else if(info.type=='2'){
+    //     //   // 临时预约----已作废
+    //     //   wx.navigateTo({
+    //     //     url: '/pages/reservationTemp/add?orderId=' + info.id + '&orderName='+ info.orderName+'&orderNumber='+ info.orderNumber
+    //     //   })
+    //     }else if(info.type=='3'){
+    //       // 起卸预约
+    //       wx.navigateTo({
+    //         url: '/pages/reservationLoadAppoint/add?orderId=' + info.id
+    //       })
+    //     }else if(info.type=='4'){
+    //       // 充电桩预约
+    //       wx.navigateTo({
+    //         url: '/pages/reservationChargestation/add?orderId=' + info.id
+    //       })
+    //     }else if(info.type=='5'){
+    //       // 管桩预约
+    //       wx.navigateTo({
+    //         url: '/pages/reservationPipe/add?orderId=' + info.id
+    //       })
+    //     }
+    
+    //   },
+    //   fail: (res) => {
+    //     wx.showToast({
+    //       title: '请重试!',
+    //       icon: 'error',
+    //       duration: 2000
+    //     })
+    //   }
+    // })
   },
 
   //删除
@@ -537,9 +562,21 @@ Page({
       wx.navigateTo({
         url: 'edit?id=' + id + '&index=' + index,
       })
-    }else if(type=='2'){
+    // }else if(type=='2'){
+    //   wx.navigateTo({
+    //     url: '/pages/reservationTemp/edit?id=' + id + '&index=' + index,
+    //   })
+    }else if(type=='3'){
+      wx.navigateTo({
+        url: '/pages/reservationLoadAppoint/edit?id=' + id + '&index=' + index,
+      })
+    }else if(type=='4'){
+      wx.navigateTo({
+        url: '/pages/reservationChargestation/edit?id=' + id + '&index=' + index,
+      })
+    }else if(type=='5'){
       wx.navigateTo({
-        url: '/pages/reservationTemp/edit?id=' + id + '&index=' + index,
+        url: '/pages/reservationPipe/edit?id=' + id + '&index=' + index,
       })
     }
     

+ 1 - 1
pages/index/index.wxml

@@ -59,7 +59,7 @@
                   <text decode="{{true}}">司{{str+str}}机:{{item.driverName?item.driverName:'未填写'}} {{item.driverMobile?item.driverMobile:'司机电话'}}</text>
                 </view>
                 <view class="time" wx:if="{{ item.appointmentType =='1' }}"><text>提货时间:{{item.beginTime?filters.tosubStr(item.beginTime,0,16):'提货开始时间'}} 至 {{item.endTime?filters.tosubStr(item.endTime,0,16):'提货结束时间'}}</text></view>
-                <view class="time" wx:if="{{ item.appointmentType =='2' }}"><text>预约分类:{{ filters.codeAnalysis(appointmentClassifyArray,item.appointmentClassify, 'value', 'label') }}</text></view>
+                <view class="time"><text>预约类型:{{ filters.codeAnalysis(appointmentTypeArray,item.appointmentType, 'dictValue', 'dictLabel') }}</text></view>
 
                 <view class="bottomBtn" wx:if="{{ item.status == '2' || item.status == '4' || item.status == '8' || (item.status == '10' && item.orderType == '1') }}">
                   <van-button type="info" size="small" data-index="{{ index }}" data-type="{{item.appointmentType}}" catchtap="toUpdate" wx:if="{{ item.status == '2' || item.status == '4' }}" style="margin-right: 20rpx;">修改</van-button>

+ 83 - 26
pages/reservationLoadAppoint/add.js

@@ -1,4 +1,4 @@
-// pages/reservationPipe/add.js
+// pages/reservationLoadAppoint/add.js
 const app = getApp()
 Page({
 
@@ -10,14 +10,14 @@ Page({
     defaultText: '请选择',
     isSubmitting: false,
 
-    orderArray:[], //管桩计划
-    orderIndex:null,
+    loadPointArray:[], //装货点位
+    loadPointIndex:null,
 
-    appointmentStatusArray: [{
-      dictValue: "",
-      dictLabel: "全部状态"
-    }],
-    appointmentStatusIndex: 0,
+    loadTimeArray:[], //装卸时间
+    loadTimeIndex:null,
+
+    excessConfigArray:[], //装卸时间
+    excessConfigIndex:null,
 
     isKeyboard: false, //是否显示车牌输入键盘
     inputOnFocusIndex: '', //当前锁定的车号位置
@@ -37,24 +37,84 @@ Page({
    * 生命周期函数--监听页面加载
    */
   onLoad: function (options) {
-    //获取管桩计划信息
-    this.getorderData()
+    this.setData({
+      orderId : options.orderId
+    })
+    //获取装卸点位下拉列表
+    this.loadPointData()
+    
+    //获取车辆轴数下拉列表
+    this.getCarzheData()
+
+    app.request.GET({
+      url: app.API.bizloadappointDetail,
+      params: {'id' : options.orderId},
+      page: this,
+      successFun: true
+    }).then(res => {
+      let getInfo = res.data.data;
+      this.setData({
+        loadNumber      : getInfo.loadNumber,
+        customerName    : getInfo.customerName,
+        goodsName       : getInfo.goodsName,
+        goodsModel      : getInfo.goodsModel,
+      })
+    })
+  },
+
+  //获取装卸点位下拉列表
+  loadPointData:function(){
+    app.request.GET({
+      url: app.API.bizloaddispatchList,
+      params: {
+        'appointId': this.data.orderId, 
+        'loadType': '2'
+      },
+      page: this,
+      successFun: true
+    }).then(res => {
+      this.setData({
+        loadPointArray : res.data.data
+      })
+    })
+  },
+
+  //装卸时间
+  loadTimeData:function(){
+    app.request.GET({
+      url: app.API.bizloaddispatchTimeList,
+      params: {
+        orderId     : this.data.orderId,        
+        loadPointId : this.data.loadPointArray[this.data.loadPointIndex].loadPointId,
+        loadType    : '2'
+      },
+      page: this,
+      successFun: true
+    }).then(res => {
+      let loadTimeList = res.data.data
+      loadTimeList.forEach((element,index) => {
+        loadTimeList[index].time = element.beginTime + '~' + element.endTime
+      });
+      this.setData({
+        loadTimeArray : loadTimeList
+      })
+    })
   },
 
-  //选择管桩计划
-  getorderData:function(){
+  //获取车辆轴数下拉列表
+  getCarzheData:function(){
     app.request.GET({
-      url: app.API.bizpipeplanList,
+      url: app.API.bizexcessconfigList,
       params: {},
       page: this,
       successFun: true
     }).then(res => {
-      let orderList = res.data.data
-      orderList.forEach((element,index) => {
-        orderList[index].name = element.planNumber
+      let excessConfigList = res.data.data
+      excessConfigList.forEach((element,index) => {
+        excessConfigList[index].name = element.vehicleAxleNumber+'轴'
       });
       this.setData({
-        orderArray: orderList
+        excessConfigArray: excessConfigList
       })
     })
   },
@@ -72,13 +132,8 @@ Page({
     let getIndex = pickername + 'Index'
     app.util.getPickerIndex(this, getIndex, e);
     switch (pickername) {
-      case 'order': //管桩计划
-        this.setData({
-          planNumber      : this.data.orderArray[this.data.orderIndex].planNumber,
-          planName        : this.data.orderArray[this.data.orderIndex].planName,
-          planCount       : this.data.orderArray[this.data.orderIndex].planCount,
-          planAlreadyCount: this.data.orderArray[this.data.orderIndex].planAlreadyCount,
-        })
+      case 'loadPoint': //装货点位
+        this.loadTimeData() //获取装货时间
         break;
     }
   },
@@ -111,7 +166,7 @@ Page({
     var creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
     //value.certificateNoImage = this.data.originalInvoicePhoto
     if (value.orderId == '') {
-      warn = "请选择管桩计划订单!";
+      warn = "请选择起卸预约订单!";
     } else if (value.licenseNumber == '') {
       warn = "车牌不能为空!";
     } else if (value.licenseNumber.length < 7) {
@@ -120,6 +175,8 @@ Page({
       warn = "车牌号格式错误!";
     } else if (value.licenseNumber.length == 8 && !xreg.test(value.licenseNumber)) {
       warn = "车牌号格式错误!";
+    } else if (value.overId == '') {
+      warn = "请选择车辆轴数!";
     } else if(value.driverName == ''){
       warn = "请输入司机姓名!";
     } else if(value.driverMobile == ''){
@@ -130,7 +187,7 @@ Page({
       app.util.checkForm(warn);
     } else {
       app.request.POST({
-        url: app.API.appointmentPipeAdd,
+        url: app.API.loadAdd,
         params: value,
         page: this,
         isLoadingTxt: '提交中...',

+ 1 - 1
pages/reservationLoadAppoint/add.json

@@ -1,5 +1,5 @@
 {
-  "navigationBarTitleText": "新增管桩预约",
+  "navigationBarTitleText": "新增起卸预约",
   "usingComponents": {
     "van-checkbox": "@vant/weapp/checkbox/index",
     "van-checkbox-group": "@vant/weapp/checkbox-group/index",

+ 43 - 19
pages/reservationLoadAppoint/add.wxml

@@ -1,20 +1,26 @@
-<!--pages/reservationPipe/add.wxml-->
+<!--pages/reservationLoadAppoint/add.wxml-->
 <view class="container" style="padding-bottom:100px;">
   <view class="height20"></view>
   <view>
     <form bindsubmit="formSubmit">
       <view class="part">
-        <!-- 订单 -->
-        <van-field label="订单编号" name="orderNumber" value="{{ orderNumber }}" input-align="right" bindtap="hideKeybord" readonly></van-field>
-        <input name="orderId" value='{{ orderId }}' hidden='true' />
-        
-        <!-- 管桩计划 -->
-        <van-field label="管桩计划" required input-align="right">
+        <van-field label="订单编号" wx:if="{{loadNumber}}" name="loadNumber" readonly value="{{ loadNumber }}" placeholder="自动填入" input-align="right">
+          <input name="orderId" value='{{orderId}}' hidden='true' />
+        </van-field>
+        <van-field label="客户名称" wx:if="{{customerName}}" name="customerName" readonly value="{{ customerName }}" placeholder="自动填入" input-align="right">
+        </van-field>
+        <van-field label="货品信息" wx:if="{{goodsName}}" name="goodsName" readonly value="{{ goodsName?goodsName:''  + goodsModel?' / ' + goodsModel:'' }}" placeholder="自动填入" input-align="right">
+        </van-field>
+      </view>
+
+      <view class="part">
+        <!-- 装卸点位 -->
+        <van-field label="装卸点位" required input-align="right" bindtap="hideKeybord">
           <view slot="input" style="width: 100%;">
-            <input name="orderId" value='{{orderArray[orderIndex].id}}' hidden='true' />
-            <picker bindchange="bindPickerChange" value="{{orderIndex}}" range="{{orderArray}}" range-key="name" data-pickername='order'>
-              <view wx:if="{{orderArray[orderIndex].name}}"> {{orderArray[orderIndex].name}}</view>
-              <view wx:else class="selectPlaceholder">{{ defaultText }}</view>
+            <input name="loadPointId" value='{{loadPointArray[loadPointIndex].loadPointId}}' hidden='true' />
+            <picker bindchange="bindPickerChange" value="{{loadPointIndex}}" range="{{loadPointArray}}" range-key="loadPoint" data-pickername='loadPoint'>
+              <view wx:if="{{loadPointArray[loadPointIndex].loadPoint}}"> {{loadPointArray[loadPointIndex].loadPoint}}</view>
+              <view wx:else class="selectPlaceholder">{{defaultText}}</view>
             </picker>
           </view>
           <view slot="right-icon">
@@ -22,14 +28,20 @@
           </view>
         </van-field>
 
-        <van-field label="计划编号" wx:if="{{orderArray[orderIndex].id}}" name="planNumber" readonly value="{{ planNumber }}" placeholder="选择管桩计划自动填入" input-align="right">
-        </van-field>
-        <van-field label="计划名称" wx:if="{{orderArray[orderIndex].id}}" name="planName" readonly value="{{ planName }}" placeholder="选择管桩计划自动填入" input-align="right">
-        </van-field>
-        <van-field label="预约次数" wx:if="{{orderArray[orderIndex].id}}" name="planCount" readonly value="{{ planCount }}" placeholder="选择管桩计划自动填入" input-align="right">
-        </van-field>
-        <van-field label="已预约次数" wx:if="{{orderArray[orderIndex].id}}" name="planAlreadyCount" readonly value="{{ planAlreadyCount }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <!-- 装卸时间 -->
+        <van-field label="装卸时间" required input-align="right" bindtap="hideKeybord" wx:if="{{loadTimeArray.length>0}}" type="textarea" autosize>
+          <view slot="input" style="width: 100%;">
+            <input name="loadTimeId" value='{{loadTimeArray[loadTimeIndex].loadTimeId}}' hidden='true' />
+            <picker bindchange="bindPickerChange" value="{{loadTimeIndex}}" range="{{loadTimeArray}}" range-key="time" data-pickername='loadTime'>
+              <view wx:if="{{loadTimeArray[loadTimeIndex].time}}"> {{loadTimeArray[loadTimeIndex].time}}</view>
+              <view wx:else class="selectPlaceholder">{{defaultText}}</view>
+            </picker>
+          </view>
+          <view slot="right-icon">
+            <van-icon name="arrow" />
+          </view>
         </van-field>
+        <van-field required wx:else label="装卸时间" name="deliveryTimeId" value="" readonly input-align="right" placeholder="请先选择装卸点位" placeholder-style="color:red;" />
       </view>
         
       <view class="part">
@@ -37,8 +49,20 @@
         <car-num-input bind:setCarNum="licensePlate" isKeyboard="{{isKeyboard}}" inputOnFocusIndex="{{inputOnFocusIndex}}" inputPlates="{{inputPlates}}" isNewEnergy="{{isNewEnergy}}"></car-num-input>
         <input name="licenseNumber" value='{{licensePlate}}' hidden='true' />
 
-        <van-field label="司机姓名" required name="driverName" value="{{ driverName }}" placeholder="请填写司机姓名" input-align="right" ></van-field>
+        <van-field label="车辆轴数" required input-align="right">
+          <view slot="input" style="width: 100%;">
+            <input name="overId" value='{{excessConfigArray[excessConfigIndex].id}}' hidden='true' />
+            <picker bindchange="bindPickerChange" value="{{excessConfigIndex}}" range="{{excessConfigArray}}" range-key="name" data-pickername='excessConfig'>
+              <view wx:if="{{excessConfigArray[excessConfigIndex].name}}"> {{excessConfigArray[excessConfigIndex].name}}</view>
+              <view wx:else class="selectPlaceholder">{{ defaultText }}</view>
+            </picker>
+          </view>
+          <view slot="right-icon">
+            <van-icon name="arrow" />
+          </view>
+        </van-field>
 
+        <van-field label="司机姓名" required name="driverName" value="{{ driverName }}" placeholder="请填写司机姓名" input-align="right" ></van-field>
         <van-field label="司机电话" required name="driverMobile" value="{{ driverMobile }}" placeholder="请填写司机电话" input-align="right" ></van-field>
       </view>
 

+ 1 - 1
pages/reservationLoadAppoint/add.wxss

@@ -1,4 +1,4 @@
-/* pages/reservationPipe/add.wxss */
+/* pages/reservationLoadAppoint/add.wxss */
 .van-field__label {
   width: 240rpx !important;
 }

+ 79 - 32
pages/reservationLoadAppoint/edit.js

@@ -1,4 +1,4 @@
-// pages/reservationPipe/edit.js
+// pages/reservationLoadAppoint/edit.js
 const app = getApp()
 Page({
 
@@ -10,14 +10,14 @@ Page({
     defaultText: '请选择',
     isSubmitting: false,
 
-    orderArray:[], //管桩计划
-    orderIndex:null,
+    loadPointArray:[], //装货点位
+    loadPointIndex:null,
 
-    appointmentStatusArray: [{
-      dictValue: "",
-      dictLabel: "全部状态"
-    }],
-    appointmentStatusIndex: 0,
+    loadTimeArray:[], //装卸时间
+    loadTimeIndex:null,
+
+    excessConfigArray:[], //装卸时间
+    excessConfigIndex:null,
 
     isKeyboard: false, //是否显示车牌输入键盘
     inputOnFocusIndex: '', //当前锁定的车号位置
@@ -54,41 +54,91 @@ Page({
       isNewEnergy: getCarNumArr.length > 7 ? true : false,
       licensePlate: getInfo.licenseNumber,
     })
-    //获取管桩计划信息
-    this.getorderData()
+    //获取装卸点位下拉列表
+    this.loadPointData()
+    
+    //获取车辆轴数下拉列表
+    this.getCarzheData()
 
     app.request.GET({
-      url: app.API.bizpipeplanDetail,
+      url: app.API.bizloadappointDetail,
       params: {'id' : getInfo.orderId},
       page: this,
       successFun: true
     }).then(res => {
       let getInfo = res.data.data;
       this.setData({
-        planNumber      : getInfo.planNumber,
-        planName        : getInfo.planName,
-        planCount       : getInfo.planCount,
-        planAlreadyCount: getInfo.planAlreadyCount,
+        loadNumber    : getInfo.loadNumber,
+        customerName  : getInfo.customerName,
+        goodsName     : getInfo.goodsName,
+        goodsModel    : getInfo.goodsModel,
+      })
+    })
+  },
+
+  //获取装卸点位下拉列表
+  loadPointData:function(){
+    app.request.GET({
+      url: app.API.bizloaddispatchList,
+      params: {
+        'appointId': this.data.orderId, 
+        'loadType': '2'
+      },
+      page: this,
+      successFun: true
+    }).then(res => {
+      this.setData({
+        loadPointArray : res.data.data,
+        loadPointIndex : this.data.info.loadPointId?app.util.getDicIndex(res.data.data, this.data.info.loadPointId, 'loadPointId'):null
       })
+      console.info("this.data.info.loadPointIndex---" + this.data.loadPointIndex)
+      if(this.data.info.loadPointId){
+        this.loadTimeData()
+      }
     })
   },
 
-  //选择管桩计划
-  getorderData:function(){
+  //装卸时间
+  loadTimeData:function(){
     app.request.GET({
-      url: app.API.bizpipeplanList,
+      url: app.API.bizloaddispatchTimeList,
+      params: {
+        orderId     : this.data.orderId,        
+        loadPointId : this.data.loadPointArray[this.data.loadPointIndex].loadPointId,
+        loadType    : '2'
+      },
+      page: this,
+      successFun: true
+    }).then(res => {
+      let loadTimeList = res.data.data
+      loadTimeList.forEach((element,index) => {
+        loadTimeList[index].time = element.beginTime + '~' + element.endTime
+      });
+      this.setData({
+        loadTimeArray : loadTimeList,
+        loadTimeIndex : this.data.info.loadTimeId?app.util.getDicIndex(loadTimeList, this.data.info.loadTimeId, 'loadTimeId'):null
+      })
+      console.info("this.data.info.loadTimeIndex---" + this.data.loadTimeIndex)
+    })
+  },
+
+  //获取车辆轴数下拉列表
+  getCarzheData:function(){
+    app.request.GET({
+      url: app.API.bizexcessconfigList,
       params: {},
       page: this,
       successFun: true
     }).then(res => {
-      let orderList = res.data.data
-      orderList.forEach((element,index) => {
-        orderList[index].name = element.planNumber
+      let excessConfigList = res.data.data
+      excessConfigList.forEach((element,index) => {
+        excessConfigList[index].name = element.vehicleAxleNumber+'轴'
       });
       this.setData({
-        orderArray: orderList,
-        orderIndex: app.util.getDicIndex(res.data.data, this.data.info.orderId, 'id')
+        excessConfigArray : excessConfigList,
+        excessConfigIndex : this.data.info.overId?app.util.getDicIndex(excessConfigList, this.data.info.overId, 'id'):null
       })
+      console.info("this.data.info.excessConfigIndex---" + this.data.excessConfigIndex)
     })
   },
 
@@ -105,13 +155,8 @@ Page({
     let getIndex = pickername + 'Index'
     app.util.getPickerIndex(this, getIndex, e);
     switch (pickername) {
-      case 'order': //管桩计划
-        this.setData({
-          planNumber      : this.data.orderArray[this.data.orderIndex].planNumber,
-          planName        : this.data.orderArray[this.data.orderIndex].planName,
-          planCount       : this.data.orderArray[this.data.orderIndex].planCount,
-          planAlreadyCount: this.data.orderArray[this.data.orderIndex].planAlreadyCount,
-        })
+      case 'loadPoint': //装货点位
+        this.loadTimeData() //获取装货时间
         break;
     }
   },
@@ -144,7 +189,7 @@ Page({
     var creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
     //value.certificateNoImage = this.data.originalInvoicePhoto
     if (value.orderId == '') {
-      warn = "请选择管桩计划订单!";
+      warn = "请选择起卸预约订单!";
     } else if (value.licenseNumber == '') {
       warn = "车牌不能为空!";
     } else if (value.licenseNumber.length < 7) {
@@ -153,6 +198,8 @@ Page({
       warn = "车牌号格式错误!";
     } else if (value.licenseNumber.length == 8 && !xreg.test(value.licenseNumber)) {
       warn = "车牌号格式错误!";
+    } else if (value.overId == '') {
+      warn = "请选择车辆轴数!";
     } else if(value.driverName == ''){
       warn = "请输入司机姓名!";
     } else if(value.driverMobile == ''){
@@ -163,7 +210,7 @@ Page({
       app.util.checkForm(warn);
     } else {
       app.request.POST({
-        url: app.API.appointmentPipeEdit,
+        url: app.API.loadEdit,
         params: value,
         page: this,
         isLoadingTxt: '提交中...',

+ 1 - 1
pages/reservationLoadAppoint/edit.json

@@ -1,5 +1,5 @@
 {
-  "navigationBarTitleText": "修改管桩预约",
+  "navigationBarTitleText": "修改起卸预约",
   "usingComponents": {
     "van-checkbox": "@vant/weapp/checkbox/index",
     "van-checkbox-group": "@vant/weapp/checkbox-group/index",

+ 1 - 1
pages/reservationLoadAppoint/edit.less

@@ -1 +1 @@
-/* pages/reservationPipe/edit.wxss */
+/* pages/reservationLoadAppoint/edit.wxss */

+ 44 - 16
pages/reservationLoadAppoint/edit.wxml

@@ -1,32 +1,48 @@
-<!--pages/reservationPipe/edit.wxml-->
+<!--pages/reservationLoadAppoint/edit.wxml-->
 <view class="container" style="padding-bottom:100px;">
   <view class="height20"></view>
   <view>
     <form bindsubmit="formSubmit">
       <input name="id" value='{{info.id}}' hidden='true' />
       <view class="part">
-        <!-- 管桩计划 -->
-        <van-field label="管桩计划" required input-align="right">
+        <van-field label="订单编号" wx:if="{{loadNumber}}" name="loadNumber" readonly value="{{ loadNumber }}" placeholder="自动填入" input-align="right">
+          <input name="orderId" value='{{orderId}}' hidden='true' />
+        </van-field>
+        <van-field label="客户名称" wx:if="{{customerName}}" name="customerName" readonly value="{{ customerName }}" placeholder="自动填入" input-align="right">
+        </van-field>
+        <van-field label="货品信息" wx:if="{{goodsName}}" name="goodsName" readonly value="{{ goodsName?goodsName:''  + goodsModel?' / ' + goodsModel:'' }}" placeholder="自动填入" input-align="right">
+        </van-field>
+      </view>
+
+      <view class="part">
+        <!-- 装卸点位 -->
+        <van-field label="装卸点位" required input-align="right" bindtap="hideKeybord">
           <view slot="input" style="width: 100%;">
-            <input name="orderId" value='{{orderArray[orderIndex].id}}' hidden='true' />
-            <picker bindchange="bindPickerChange" value="{{orderIndex}}" range="{{orderArray}}" range-key="name" data-pickername='order'>
-              <view wx:if="{{orderArray[orderIndex].name}}"> {{orderArray[orderIndex].name}}</view>
-              <view wx:else class="selectPlaceholder">{{ defaultText }}</view>
+            <input name="loadPointId" value='{{loadPointArray[loadPointIndex].loadPointId}}' hidden='true' />
+            <picker bindchange="bindPickerChange" value="{{loadPointIndex}}" range="{{loadPointArray}}" range-key="loadPoint" data-pickername='loadPoint'>
+              <view wx:if="{{loadPointArray[loadPointIndex].loadPoint}}"> {{loadPointArray[loadPointIndex].loadPoint}}</view>
+              <view wx:else class="selectPlaceholder">{{defaultText}}</view>
             </picker>
           </view>
           <view slot="right-icon">
             <van-icon name="arrow" />
           </view>
         </van-field>
-        
-        <van-field label="计划编号" wx:if="{{orderArray[orderIndex].id}}" name="planNumber" readonly value="{{ planNumber }}" placeholder="选择管桩计划自动填入" input-align="right">
-        </van-field>
-        <van-field label="计划名称" wx:if="{{orderArray[orderIndex].id}}" name="planName" readonly value="{{ planName }}" placeholder="选择管桩计划自动填入" input-align="right">
-        </van-field>
-        <van-field label="预约次数" wx:if="{{orderArray[orderIndex].id}}" name="planCount" readonly value="{{ planCount }}" placeholder="选择管桩计划自动填入" input-align="right">
-        </van-field>
-        <van-field label="已预约次数" wx:if="{{orderArray[orderIndex].id}}" name="planAlreadyCount" readonly value="{{ planAlreadyCount }}" placeholder="选择管桩计划自动填入" input-align="right">
+
+        <!-- 装卸时间 -->
+        <van-field label="装卸时间" required input-align="right" bindtap="hideKeybord" wx:if="{{loadTimeArray.length>0}}" type="textarea" autosize>
+          <view slot="input" style="width: 100%;">
+            <input name="loadTimeId" value='{{loadTimeArray[loadTimeIndex].loadTimeId}}' hidden='true' />
+            <picker bindchange="bindPickerChange" value="{{loadTimeIndex}}" range="{{loadTimeArray}}" range-key="time" data-pickername='loadTime'>
+              <view wx:if="{{loadTimeArray[loadTimeIndex].time}}"> {{loadTimeArray[loadTimeIndex].time}}</view>
+              <view wx:else class="selectPlaceholder">{{defaultText}}</view>
+            </picker>
+          </view>
+          <view slot="right-icon">
+            <van-icon name="arrow" />
+          </view>
         </van-field>
+        <van-field required wx:else label="装卸时间" name="deliveryTimeId" value="" readonly input-align="right" placeholder="请先选择装卸点位" placeholder-style="color:red;" />
       </view>
         
       <view class="part">
@@ -34,8 +50,20 @@
         <car-num-input bind:setCarNum="licensePlate" isKeyboard="{{isKeyboard}}" inputOnFocusIndex="{{inputOnFocusIndex}}" inputPlates="{{inputPlates}}" isNewEnergy="{{isNewEnergy}}"></car-num-input>
         <input name="licenseNumber" value='{{licensePlate}}' hidden='true' />
 
-        <van-field label="司机姓名" required name="driverName" value="{{ info.driverName }}" placeholder="请填写司机姓名" input-align="right" ></van-field>
+        <van-field label="车辆轴数" required input-align="right">
+          <view slot="input" style="width: 100%;">
+            <input name="overId" value='{{excessConfigArray[excessConfigIndex].id}}' hidden='true' />
+            <picker bindchange="bindPickerChange" value="{{excessConfigIndex}}" range="{{excessConfigArray}}" range-key="name" data-pickername='excessConfig'>
+              <view wx:if="{{excessConfigArray[excessConfigIndex].name}}"> {{excessConfigArray[excessConfigIndex].name}}</view>
+              <view wx:else class="selectPlaceholder">{{ defaultText }}</view>
+            </picker>
+          </view>
+          <view slot="right-icon">
+            <van-icon name="arrow" />
+          </view>
+        </van-field>
 
+        <van-field label="司机姓名" required name="driverName" value="{{ info.driverName }}" placeholder="请填写司机姓名" input-align="right" ></van-field>
         <van-field label="司机电话" required name="driverMobile" value="{{ info.driverMobile }}" placeholder="请填写司机电话" input-align="right" ></van-field>
       </view>
 

+ 1 - 1
pages/reservationLoadAppoint/index.js

@@ -1,4 +1,4 @@
-// pages/reservationPipe/index.js
+// pages/reservationLoadAppoint/index.js
 const app = getApp()
 var startPoint
 Page({

+ 1 - 1
pages/reservationLoadAppoint/index.less

@@ -1,4 +1,4 @@
-/* pages/reservationPipe/index.wxss */
+/* pages/reservationLoadAppoint/index.wxss */
 page{
   --cell-vertical-padding:12rpx;
   --cell-horizontal-padding:0;

+ 1 - 1
pages/reservationLoadAppoint/index.wxml

@@ -1,4 +1,4 @@
-<!--pages/reservationPipe/index.wxml-->
+<!--pages/reservationLoadAppoint/index.wxml-->
 <view class="container listMain">
   <block wx:if="{{loginStatus}}">
     <view url="" class="addBtn" catch:tap="changeAdd" hover-class="none" catchtouchmove="buttonMove" bindtouchstart="buttonStart" bindtouchend="buttonEnd" style="top:{{buttonTop}}px;left:{{buttonLeft}}px;" wx:if="{{roleCodeList == 'driver'}}">

+ 1 - 1
pages/reservationLoadAppoint/index.wxss

@@ -1,4 +1,4 @@
-/* pages/reservationPipe/index.wxss */
+/* pages/reservationLoadAppoint/index.wxss */
 page {
   --cell-vertical-padding: 12rpx;
   --cell-horizontal-padding: 0;

+ 30 - 11
pages/reservationPipe/add.js

@@ -37,28 +37,47 @@ Page({
    * 生命周期函数--监听页面加载
    */
   onLoad: function (options) {
+    this.setData({
+      orderId: options.orderId
+    })
     //获取管桩计划信息
-    this.getorderData()
-  },
+    // this.getorderData()
 
-  //选择管桩计划
-  getorderData:function(){
     app.request.GET({
-      url: app.API.bizpipeplanList,
-      params: {},
+      url: app.API.bizpipeplanDetail,
+      params: {'id' : options.orderId},
       page: this,
       successFun: true
     }).then(res => {
-      let orderList = res.data.data
-      orderList.forEach((element,index) => {
-        orderList[index].name = element.planNumber
-      });
+      let getInfo = res.data.data;
       this.setData({
-        orderArray: orderList
+        planNumber      : getInfo.planNumber,
+        planName        : getInfo.planName,
+        planCount       : getInfo.planCount,
+        planAlreadyCount: getInfo.planAlreadyCount,
       })
     })
   },
 
+  //选择管桩计划
+  // getorderData:function(){
+  //   app.request.GET({
+  //     url: app.API.bizpipeplanList,
+  //     params: {},
+  //     page: this,
+  //     successFun: true
+  //   }).then(res => {
+  //     let orderList = res.data.data
+  //     orderList.forEach((element,index) => {
+  //       orderList[index].name = element.planNumber
+  //     });
+  //     this.setData({
+  //       orderArray: orderList
+  //     })
+  //   })
+  // },
+  
+
   //获取车牌号
   licensePlate: function (e) {
     this.setData({

+ 8 - 10
pages/reservationPipe/add.wxml

@@ -3,12 +3,8 @@
   <view class="height20"></view>
   <view>
     <form bindsubmit="formSubmit">
-      <view class="part">
-        <!-- 订单 -->
-        <van-field label="订单编号" name="orderNumber" value="{{ orderNumber }}" input-align="right" bindtap="hideKeybord" readonly></van-field>
-        <input name="orderId" value='{{ orderId }}' hidden='true' />
-        
-        <!-- 管桩计划 -->
+      <view class="part">        
+        <!-- 管桩计划 (扫码获取)
         <van-field label="管桩计划" required input-align="right">
           <view slot="input" style="width: 100%;">
             <input name="orderId" value='{{orderArray[orderIndex].id}}' hidden='true' />
@@ -21,14 +17,16 @@
             <van-icon name="arrow" />
           </view>
         </van-field>
+         -->
 
-        <van-field label="计划编号" wx:if="{{orderArray[orderIndex].id}}" name="planNumber" readonly value="{{ planNumber }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <van-field label="计划编号" wx:if="{{orderId}}" name="planNumber" readonly value="{{ planNumber }}" placeholder="自动填入" input-align="right">
+          <input name="orderId" value='{{orderId}}' hidden='true' />
         </van-field>
-        <van-field label="计划名称" wx:if="{{orderArray[orderIndex].id}}" name="planName" readonly value="{{ planName }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <van-field label="计划名称" wx:if="{{orderId}}" name="planName" readonly value="{{ planName }}" placeholder="自动填入" input-align="right">
         </van-field>
-        <van-field label="预约次数" wx:if="{{orderArray[orderIndex].id}}" name="planCount" readonly value="{{ planCount }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <van-field label="预约次数" wx:if="{{orderId}}" name="planCount" readonly value="{{ planCount }}" placeholder="自动填入" input-align="right">
         </van-field>
-        <van-field label="已预约次数" wx:if="{{orderArray[orderIndex].id}}" name="planAlreadyCount" readonly value="{{ planAlreadyCount }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <van-field label="已预约次数" wx:if="{{orderId}}" name="planAlreadyCount" readonly value="{{ planAlreadyCount }}" placeholder="自动填入" input-align="right">
         </van-field>
       </view>
         

+ 21 - 19
pages/reservationPipe/edit.js

@@ -54,9 +54,11 @@ Page({
       isNewEnergy: getCarNumArr.length > 7 ? true : false,
       licensePlate: getInfo.licenseNumber,
     })
-    //获取管桩计划信息
-    this.getorderData()
 
+    //获取管桩计划
+    // this.getorderData()
+
+    //获取管桩计划详情
     app.request.GET({
       url: app.API.bizpipeplanDetail,
       params: {'id' : getInfo.orderId},
@@ -74,23 +76,23 @@ Page({
   },
 
   //选择管桩计划
-  getorderData:function(){
-    app.request.GET({
-      url: app.API.bizpipeplanList,
-      params: {},
-      page: this,
-      successFun: true
-    }).then(res => {
-      let orderList = res.data.data
-      orderList.forEach((element,index) => {
-        orderList[index].name = element.planNumber
-      });
-      this.setData({
-        orderArray: orderList,
-        orderIndex: app.util.getDicIndex(res.data.data, this.data.info.orderId, 'id')
-      })
-    })
-  },
+  // getorderData:function(){
+  //   app.request.GET({
+  //     url: app.API.bizpipeplanList,
+  //     params: {},
+  //     page: this,
+  //     successFun: true
+  //   }).then(res => {
+  //     let orderList = res.data.data
+  //     orderList.forEach((element,index) => {
+  //       orderList[index].name = element.planNumber
+  //     });
+  //     this.setData({
+  //       orderArray: orderList,
+  //       orderIndex: app.util.getDicIndex(res.data.data, this.data.info.orderId, 'id')
+  //     })
+  //   })
+  // },
 
   //获取车牌号
   licensePlate: function (e) {

+ 7 - 5
pages/reservationPipe/edit.wxml

@@ -5,7 +5,7 @@
     <form bindsubmit="formSubmit">
       <input name="id" value='{{info.id}}' hidden='true' />
       <view class="part">
-        <!-- 管桩计划 -->
+        <!-- 管桩计划 
         <van-field label="管桩计划" required input-align="right">
           <view slot="input" style="width: 100%;">
             <input name="orderId" value='{{orderArray[orderIndex].id}}' hidden='true' />
@@ -18,14 +18,16 @@
             <van-icon name="arrow" />
           </view>
         </van-field>
+        -->
         
-        <van-field label="计划编号" wx:if="{{orderArray[orderIndex].id}}" name="planNumber" readonly value="{{ planNumber }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <van-field label="计划编号" wx:if="{{planNumber}}" name="planNumber" readonly value="{{ planNumber }}" placeholder="自动填入" input-align="right">
+          <input name="orderId" value='{{orderId}}' hidden='true' />
         </van-field>
-        <van-field label="计划名称" wx:if="{{orderArray[orderIndex].id}}" name="planName" readonly value="{{ planName }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <van-field label="计划名称" wx:if="{{planName}}" name="planName" readonly value="{{ planName }}" placeholder="自动填入" input-align="right">
         </van-field>
-        <van-field label="预约次数" wx:if="{{orderArray[orderIndex].id}}" name="planCount" readonly value="{{ planCount }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <van-field label="预约次数" wx:if="{{planCount}}" name="planCount" readonly value="{{ planCount }}" placeholder="自动填入" input-align="right">
         </van-field>
-        <van-field label="已预约次数" wx:if="{{orderArray[orderIndex].id}}" name="planAlreadyCount" readonly value="{{ planAlreadyCount }}" placeholder="选择管桩计划自动填入" input-align="right">
+        <van-field label="已预约次数" wx:if="{{planAlreadyCount}}" name="planAlreadyCount" readonly value="{{ planAlreadyCount }}" placeholder="自动填入" input-align="right">
         </van-field>
       </view>
         

+ 2 - 1
pages/reservationTemp/add.js

@@ -34,7 +34,8 @@ Page({
   onLoad: function (options) {
     this.setData({
       orderId: options.orderId,
-      orderName: options.orderName
+      orderName: options.orderName,
+      orderNumber: options.orderNumber
     })
     this.getCarInfo()
   },

+ 7 - 7
pages/workstand/index.js

@@ -9,7 +9,10 @@ Page({
     roleCodeList: wx.getStorageSync('roleCodeList') ? wx.getStorageSync('roleCodeList') : '',
     //"bizAdmin"管理员, "driver"司机, "customer"用友客户, "ship"船主, "sale"销售, "dispatcher"调度员, "send"发货员, "load"起卸员
     menuData:[
-      {url:'/pages/index/index',flowName:'扫码预约',flowIcon:'',iconfont:'yuyue',color:"#00a8ff",role:["driver","customer", "ship"]},
+      {url:'/pages/index/index',flowName:'扫码预约',flowIcon:'',iconfont:'yuyue',color:"#00a8ff",role:["driver","customer"]},
+
+      {url:'/otherPages/loadArrive/index',flowName:'报港预约',flowIcon:'',iconfont:'loadArrive',color:"#20A0E3",role:["ship", "bizAdmin"]},
+
       {url:'/pages/weighingRecord/index',flowName:'过磅记录',flowIcon:'',iconfont:'xuexijilu-',color:"#26CA83",role:["bizAdmin","driver", "ship"]},
 
       {url:'/pages/queueCar/index',flowName:'排队车辆',flowIcon:'',iconfont:'item5',color:"#6c5ce7",role:["bizAdmin"]},
@@ -18,18 +21,15 @@ Page({
       
       {url:'/otherPages/loadAppoint/index',flowName:'起卸订单',flowIcon:'',iconfont:'fenpei',color:"#6c5ce7",role:["load","bizAdmin", "dispatcher"]},
 
-      {url:'/otherPages/loadArrive/index',flowName:'报港预约',flowIcon:'',iconfont:'loadArrive',color:"#20A0E3",role:["ship", "bizAdmin"]},
-
       {url:'/pages/reservationMan/index',flowName:'预约管理',flowIcon:'',iconfont:'yuyueguanli2',color:"#FF6160",role:["bizAdmin"]},
-      
-      // {url:'/pages/reservationPipe/index',flowName:'管桩预约',flowIcon:'',iconfont:'reservationPipe',color:"#20A0E3",role:["driver", "bizAdmin"]},
-      
-      // {url:'/pages/reservationChargestation/index',flowName:'充电桩预约',flowIcon:'',iconfont:'chargestation',color:"#20A0E3",role:["driver", "bizAdmin"]},
 
       {url:'/pages/deliveryConfirm/index',flowName:'发货确认',flowIcon:'',iconfont:'daifahuo1',color:"#FF9237",role:["send"]},
 
       {url:'/pages/signReview/index',flowName:'签收审核',flowIcon:'',iconfont:'qianshou',color:"#e17055",role:["sale"]},
 
+      // {url:'/pages/reservationPipe/index',flowName:'管桩预约',flowIcon:'',iconfont:'reservationPipe',color:"#20A0E3",role:["driver", "bizAdmin"]},
+      
+      // {url:'/pages/reservationChargestation/index',flowName:'充电桩预约',flowIcon:'',iconfont:'chargestation',color:"#20A0E3",role:["driver", "bizAdmin"]},
       
       // 新增功能模块,包含列表、详情、新增,后续其他页面可复制,修改页面参数显示、接口地址即可
       // url:表示页面地址  role:有权限的角色名

+ 4 - 4
utils/api.js

@@ -54,14 +54,14 @@ const api = {
   //起卸预约
   'loadAdd': '/biz/bizappointmentrecord/addLoad', // POST 新增预约  
   'loadEdit': '/biz/bizappointmentrecord/editLoad', // POST 编辑预约
-  'bizloaddispatchList': '/biz/bizloaddispatch/getList', // GET 装卸点位不分页列表  ?appointId=1938029722078810114&loadType=2
-  'bizloaddispatchTimeList': '/biz/bizloaddispatch/getListTime', // GET 装卸时间不分页列表   ?orderId=1938029722078810114&loadPointId=1928381326762668034&loadType=2
+  'bizloaddispatchList': '/biz/bizloaddispatch/getList', // GET 装卸点位不分页列表
+  'bizloaddispatchTimeList': '/biz/bizloaddispatch/getListTime', // GET 装卸时间不分页列表
   'bizexcessconfigList': '/biz/bizexcessconfig/getList', // GET 车辆轴数下拉列表  
 
   //管桩预约 /biz/bizpipeplan/page
   'appointmentPipePage': '/biz/bizappointmentrecord/getPipePage', // GET 分页列表
-  'appointmentPipeAdd': '/biz/bizappointmentrecord/addreservationPipe', // POST 新增预约  
-  'appointmentPipeEdit': '/biz/bizappointmentrecord/editreservationPipe', // POST 编辑预约
+  'appointmentPipeAdd': '/biz/bizappointmentrecord/addPipeAppoint', // POST 新增预约  
+  'appointmentPipeEdit': '/biz/bizappointmentrecord/editPipeAppoint', // POST 编辑预约
   'bizpipeplanList': '/biz/bizpipeplan/getList', // GET 管桩计划单列表
   'bizpipeplanDetail': '/biz/bizpipeplan/detail', // GET 管桩计划详情