819527061@qq.com
2024-11-15 b5d3561a2e06106ed9cce2c6bcc9c2463951e998
pages/jihua/jihua.vue
@@ -17,6 +17,9 @@
                  <view class="jihua-main-line">
                     <view class="name">客户名称:{{item.customerName || ''}}</view>
                  </view>
            <view class="jihua-main-line" v-if="item.order && item.order.customerAddressName != item.customerName">
              <view class="name">收货单位:{{item.order && item.order.customerAddressName || ''}}</view>
            </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view>煤种:{{ item.order.coalName || '' }}</view>
@@ -27,11 +30,19 @@
                     <view class="main-flex">
                        <view class="carNum-box">
                           <view>计划车数:</view>
                           <!-- <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputChange" @focus="faYunPlanCarsFocus(item)"></u--input> -->
                           <view class="planCars" :style="{color:item.numPlan  ? '#111':'#ccc'}" @click="faYunPlanCarsFocus(item)">
                              <text v-model="item.numPlan">{{ item.numPlan || '点击输入数量' }}</text>
                              <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.orderId"><image src="@/static/cursor.gif" mode=""><image></view>
                           </view>
                            <u--input
                       placeholder="请输入发运车数"
                       border="surround"
                       v-model="item.numPlan"
                       @change="inputChange(item)"
                       @focus="faYunPlanCarsFocus(item)"
                       type="number" pattern="[0-9]*"></u--input>
                  <!--                           <view class="planCars" :style="{color:item.numPlan  ? '#111':'#ccc'}" @click="faYunPlanCarsFocus(item)">
                                      <text v-model="item.numPlan">{{ item.numPlan || '点击输入数量' }}</text>
                  &lt;!&ndash;                    <text v-model="item.numPlan">{{ item.numPlan || '点击输入数量' }}</text>&ndash;&gt;
                                      <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.orderId"><image src="@/static/cursor.gif" mode=""><image></view>
                                    </view>-->
                        </view>
                        <view style="margin-right:10px">实际发车数:{{ item.numReal || '暂无' }}</view>
                     </view>
@@ -70,18 +81,24 @@
                     <view class="main-flex">
                        <view class="carNum-box">
                           <view>计划车数:</view>
                           <!-- <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputTotalChange(item)" @focus="faYunPlanCarsFocus(item)"></u--input> -->
                           <view class="planCars" :style="{color:item.numPlan  ? '#111':'#ccc'}" @click="faYunPlanCarsFocus(item)">
                            <u--input
                       placeholder="请输入发运车数"
                       border="surround"
                       v-model="item.numPlan"
                       @change="inputTotalChange(item)"
                       @focus="faYunPlanCarsFocus(item)"
                       type="number" pattern="[0-9]*"></u--input>
<!--                           <view class="planCars" :style="{color:item.numPlan  ? '#111':'#ccc'}" @click="faYunPlanCarsFocus(item)">
                              <text v-model="item.numPlan">{{ item.numPlan || '点击输入数量' }}</text>
                              <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.orderId">
                                 <image src="@/static/cursor.gif" mode="" />
                              </view>
                           </view>
                           </view>-->
                        </view>
                        <view style="margin-right:10px">实际发车数:{{ item.numReal == null ? '暂无' : item.numReal }}</view>
                     </view>
                  </view>
                  <u-keyboard
<!--                  <u-keyboard
                     @change="valChange"
                     @backspace="backspace"
                     @confirm="keyBoardConfirm"
@@ -94,7 +111,7 @@
                     :closeOnClickOverlay="false"
                     :dotDisabled="true"
                     zIndex="100000"
                  ></u-keyboard>
                  ></u-keyboard>-->
               </view>
            </view>
         </view>
@@ -104,8 +121,8 @@
      <u-popup :show="editPopupShow" @close="editPopupClose" @open="editPopupOpen" mode="top" round="10">
         <view class="editPopup">
            <view class="editPopup__title"><text>计划车数</text></view>
            <view class="editPopup__input"><u--input v-model="keyBoardValue" @change="change" placeholder="请输入内容" type="number" border="surround"></u--input></view>
            <!-- <view class="editPopup__btn"><u-button text="确定" type="primary" @click="popupDetermineClick"></u-button></view> -->
            <view class="editPopup__input"><u--input v-model="keyBoardValue" placeholder="请输入内容" type="number" border="surround"></u--input></view>
            <view class="editPopup__btn"><u-button text="确定" type="primary" @click="keyBoardConfirm"></u-button></view>
         </view>
      </u-popup>
@@ -119,10 +136,16 @@
import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
import tool from '@/utils/tool.js';
import { TrackOpTypes } from "vue";
import row from "../../uni_modules/uview-ui/libs/config/props/row";
export default {
   components: {
      popupMenu
   },
  computed: {
    isShowCAN() {  //是否显示收货单位
    }
  },
   data() {
      return {
         radioValue: '全部',
@@ -228,7 +251,8 @@
            status: 2,
            trainType: 1,
            compId: compId,
            endDate: this.info.shippingDate
        type: '外销',
            endDate: this.info.shippingDate,
         };
         this.$reqGet('fyList', params).then(res => {
            if (res.code == 0) {
@@ -372,16 +396,33 @@
            duration: 300
         });
      },
      inputChange(val) {
         console.log('全部计划', val);
      inputChange(item) {
      if(item.numPlan) {
        let total = Math.floor(item.order.executiveSurplus / Number(34));
        let max = total + (item.numReal ? item.numReal : 0) + 1
        if(item.numPlan > max) {
          this.$nextTick(() => {
            item.numPlan = max
            this.$set(item,'numPlan',max)
          })
          uni.showToast({
            title:`该订单最大设置车数为:${max}`,
            icon:'none',
            duration:1000
          })
        }
      }
      },
    changeIn(val) {
      console.log(val,'val=====')
    },
      inputTotalChange(val) {
         console.log(val, 'val2=======val2,已设置计划');
         this.editRow = val;
      },
      // input获取焦点
      faYunPlanCarsFocus(item) {
         this.keyBoardShow = true;
      console.log(item,'发运车数计划------------===========')
         this.fayunPlanFocusId = item.orderId;
         this.keyBoardValue = item.numPlan + '';
         if(this.isTomJihua == '已设置的计划'){
@@ -391,18 +432,19 @@
         }
         // 根据列表下标,使屏幕滚动到相应可视位置
         for(let i = 0;i<this.fyData.length;i++){
            if(this.fyData[i].orderId == item.orderId){
               uni.pageScrollTo({
                  scrollTop: i*144,
                  duration: 300
               });
            }
         }
         // for(let i = 0;i<this.fyData.length;i++){
         //    if(this.fyData[i].orderId == item.orderId){
         //       uni.pageScrollTo({
         //          scrollTop: i*144,
         //          duration: 300
         //       });
         //    }
         // }
      },
      // 键盘
      valChange(val) {
      console.log(val,'已设置的计划====')
         // this.keyBoardValue += val;
         // 将每次按键的值拼接到value变量中,注意+=写法
         this.fyData.map(item => {
@@ -472,8 +514,19 @@
   }
};
</script>
<style>
input{-webkit-appearance: none;}
</style>
<style lang="scss" scoped>
.ceshi-box{
  width: 100%;
  display: flex;
  flex-direction: column;
}
.editPopup__btn{
  width: vww(100);
  margin:20rpx auto 0;
}
::v-deep {
   .u-tabs__wrapper__nav {
      padding-left: vww(75.5);
@@ -583,7 +636,7 @@
   .main-block-box {
      box-shadow: 0px 0px 8px 0px rgba(216, 218, 238, 0.8);
      height: vww(120);
      //height: vww(120);
      padding: vww(10);
      box-sizing: border-box;
      margin-top: vww(12);
@@ -600,7 +653,8 @@
         }
         .name {
            font-weight: 600 !important;
            font-weight: 550 !important;
        line-height: 54rpx;
         }
         .main-flex {