jiangping
2024-10-21 1ae471941bbdf9dde5dba668d33acf415fc6ec07
h5/pages/driver/reserved.vue
@@ -7,8 +7,8 @@
               <text>*</text>
               <text>入园原因</text>
            </view>
            <view class="value" @click="showReason = true">
               <text class="mr6" :style="{ color: param.inReason ? '#000000' : '#999999' }">{{ param.inReason ? param.inReason : '请选择' }}</text>
            <view class="value" @click="reasonClick">
               <text class="mr6" :class="{gray: param.id}" :style="{ color: param.inReason ? '#000000' : '#999999' }">{{ param.inReason ? param.inReason : '请选择' }}</text>
               <u-icon name="arrow-right" color="#CCCCCC" size="16"></u-icon>
            </view>
         </view>
@@ -48,7 +48,7 @@
               <text>总运输量</text>
            </view>
            <view class="value">
               <input type="number" placeholder="请输入总运输量" v-model="param.totalNum" placeholder-style="color: #999999;" />
               <input type="number" @blur="checkSurplus" placeholder="请输入总运输量" v-model="param.totalNum" placeholder-style="color: #999999;" />
               <text class="unit">万支</text>
            </view>
         </view>
@@ -105,7 +105,8 @@
      </view>
      
      <!--  -->
      <u-picker :show="showReason" keyName="reason" :columns="reasonList" @confirm="reasonConfirm"></u-picker>
      <u-picker :show="showReason" keyName="reason" closeOnClickOverlay @close="showReason = false"
         @cancel="showReason = false" :columns="reasonList" @confirm="reasonConfirm"></u-picker>
      <u-datetime-picker
         :show="showDatetime"
         closeOnClickOverlay
@@ -121,7 +122,7 @@
<script>
import keyboardInput from '@/components/keyboard-input/keyboard-input.vue';
import { uploadUrl, driverCarApply,driverCarApplyEdit, driverReasonList, driverApplyDetail } from '@/api';
import { uploadUrl, driverCarApply,driverCarApplyEdit, driverReasonList, driverApplyDetail, checkSurplusNum } from '@/api';
import dayjs from 'dayjs'
export default {
   components: {
@@ -149,6 +150,27 @@
      this.initData()
   },
   methods: {
      checkSurplus() {
            const { arriveDate, reasonId, totalNum } = this.param
            if(!arriveDate || !reasonId || !totalNum) return
            checkSurplusNum({
              arriveDate: arriveDate + ':00',
              reasonId,
              totalNum
            }).then(res => {
              console.log('res', res);
              if( res.data == 0 ||  res.data < Number(totalNum)){
                this.showToast(`当日剩余可预约作业量不足请选择其他到场日期`)
              }
            })
          },
      reasonClick() {
         if(this.param.id){
            return
         }
         this.showReason = true
      },
      onSubmit() {
         const param = { ...this.param }
         if (!param.arriveDate) return this.showToast('请选择到场时间')
@@ -189,10 +211,12 @@
         const index = e.indexs[0]
         this.$set(this.param, 'inReason', reasonList[index].reason)
         this.$set(this.param, 'reasonId', reasonList[index].id)
         this.checkSurplus()
         this.showReason = false
      },
      setinDate(e) {
         this.$set(this.param, 'arriveDate', dayjs(e.value).format('YYYY-MM-DD HH:mm'))
         this.checkSurplus()
         this.showDatetime = false
      },
      inTypeClick(e) {
@@ -297,6 +321,9 @@
         display: flex;
         align-items: center;
         justify-content: flex-end;
         .gray{
            color: #999999 !important;
         }
         .btns {
            display: flex;
            align-items: center;