zuozhengqing
2024-03-27 7fbfeddedebd05e2d23ce411be887106d31e8eff
src/views/sales/salesDetails/shipmentsDialog.vue
@@ -12,7 +12,7 @@
        ref="form"
        :model="editConfig.infomation"
        :rules="rules"
        label-position="right"
        label-position="left"
        label-width="10%"
        size="mini"
        style="height: 60vh; overflow-x: hidden"
@@ -69,15 +69,10 @@
              :selectBox="false"
              :addTypeIdMultiple="true"
              pageName="quotation"
              :isBorder="true"
              :detailEnter="true"
              :isOperate="
                (autoCodeHeadersObj.Bjd == 'yes' && editConfig.infomation.quotation_number) ||
                autoCodeHeadersObj.Bjd != 'yes'
                  ? true
                  : false
              "
              :quotationNumber="autoCodeHeadersObj.Bjd == 'yes' ? editConfig.infomation.quotation_number : ''"
              :product-table-list="productTableList"
              :isOperate="true"
              @inputContent="inputContent"
              @addProductClick="addProductClick"
              @getSelectArray="getSelectArray"
@@ -277,8 +272,10 @@
          let shipmentsNum=false
          this.shipmentsList.map((item)=>{
            if(this.shipmentsType===1){
              if(item.leftAmount<item.availableAmount){
              if(item.leftAmount<item.availableAmount&&item.leftAmount>0){
                isShipments=false
              }else if(item.leftAmount<=0){
                shipmentsNum=true
              }else{
                isShipments=true
              }
@@ -289,6 +286,8 @@
                shipmentsNum=true
              }else if(!item.outputAmount){
                shipmentsNum=true
              }else if(item.leftAmount<=0){
                isShipments=true
              }else{
                isShipments=false
              }
@@ -544,26 +543,42 @@
        ]
        this.dissatisfy=false
        let portion=0
        // let noUsable=false
        this.productTableList.tableData.map((item)=>{
          if(item.availableAmount>=item.leftAmount&&item.availableAmount>0){
          item.availableAmount=Number(item.availableAmount)
          item.leftAmount=Number(item.leftAmount)
          item.finishAmount=Number(item.finishAmount)
          item.orderAmount=Number(item.orderAmount)
          console.log(item,"item")
          if(item.availableAmount>=item.leftAmount&&item.availableAmount>0&&item.leftAmount>0){
            portion++
            this.shipmentsList.push(item)
          }
          // if(item.availableAmount<item.leftAmount){
          //   noUsable=true
          // }
        })
          if(portion===0){// 没有产品满足发货条件
            this.completely=false
            this.dissatisfy=true
            this.shipmentsMsg="当前仓库库存不足,不能完成一次发货"
            // if(noUsable){
            //   this.shipmentsMsg="可用库存不满足未发货数量,无法发货"
            // }else{
            // }
            this.shipmentsMsg="可用库存或未发货数量为0或当前可用库存不满足未发货数量,不能完成一次发货"
          }else if(portion>0&&portion<this.productTableList.tableData.length){// 部分产品满足发货条件
            this.dissatisfy=false
            this.completely=true
            this.shipmentsMsg="只能满足部分发货需求,是否确认发货"
            
          }else if(portion===this.productTableList.tableData.length){// 充分满足
          }else if(portion!==0){
            this.dissatisfy=false
            this.completely=true
            console.log(portion,"portion")
            this.shipmentsMsg="能满足发货需求,直接发货吧"
          }
        })
        if(portion===this.productTableList.tableData.length){ // 全部满足发货条件
          this.dissatisfy=false
          this.completely=false
@@ -582,24 +597,28 @@
        ]
        let portion=0
        this.productTableList.tableData.map((item)=>{
          if(item.availableAmount>0){
          item.availableAmount=Number(item.availableAmount)
          item.leftAmount=Number(item.leftAmount)
          item.finishAmount=Number(item.finishAmount)
          item.orderAmount=Number(item.orderAmount)
          if(item.availableAmount>0&&item.leftAmount>0){
            portion++
            this.shipmentsList.push(item)
          }
          if(portion===0){ // 没有一件产品能满足发货条件
            this.completely=false
            this.dissatisfy=true
            this.shipmentsMsg="当前仓库库存为0,无法发货"
          }else if(portion>0&&portion<this.productTableList.tableData.length){
            this.dissatisfy=false
            this.completely=true
            this.shipmentsMsg="只能满足部分发货需求,是否确认发货"
          }else if(portion===this.productTableList.tableData.length){
            this.dissatisfy=false
            this.completely=true
            this.shipmentsMsg="能满足发货需求,直接发货吧"
          }
        })
        if(portion===0){ // 没有一件产品能满足发货条件
          this.completely=false
          this.dissatisfy=true
            this.shipmentsMsg="可用库存或未发货数量为0,无法发货"
        }else if(portion>0&&portion<this.productTableList.tableData.length){
          this.dissatisfy=false
          this.completely=true
          this.shipmentsMsg="只能满足部分发货需求,是否确认发货"
        }else if(portion===this.productTableList.tableData.length){
          this.dissatisfy=false
          this.completely=true
          this.shipmentsMsg="能满足发货需求,直接发货吧"
        }
      }
    },
    // 产品入库信息
@@ -611,25 +630,30 @@
          if(this.shipmentsType===1){
            let portion=0
            this.productTableList.tableData.map((item)=>{
              if(item.availableAmount>=item.leftAmount&&item.availableAmount>0){
              item.availableAmount=Number(item.availableAmount)
              item.leftAmount=Number(item.leftAmount)
              item.finishAmount=Number(item.finishAmount)
              item.orderAmount=Number(item.orderAmount)
              if(item.availableAmount>=item.leftAmount&&item.availableAmount>0&&item.leftAmount>0){
                portion++
                this.shipmentsList.push(item)
              }
              if(portion===0){// 没有产品满足发货条件
                this.completely=false
                this.dissatisfy=true
                this.shipmentsMsg="当前产品可用库存为0,无法发货"
              }else if(portion>0&&portion<this.productTableList.tableData.length){
                this.dissatisfy=false
                this.completely=true
                this.shipmentsMsg="只能满足部分发货需求,是否确认发货"
                // 部分产品满足发货条件
              }else if(portion===this.productTableList.tableData.length){
                this.dissatisfy=false
                this.completely=true
                this.shipmentsMsg="能满足发货需求,直接发货吧"
              }
            })
            console.log(portion,"portion2")
            if(portion===0){// 没有产品满足发货条件
              this.completely=false
              this.dissatisfy=true
              this.shipmentsMsg="可用库存或未发货数量为0或当前可用库存不满足未发货数量,不能完成一次发货"
            }else if(portion>0&&portion<this.productTableList.tableData.length){
              this.dissatisfy=false
              this.completely=true
              this.shipmentsMsg="只能满足部分发货需求,是否确认发货"
              // 部分产品满足发货条件
            }else{
              this.dissatisfy=false
              this.completely=true
              this.shipmentsMsg="能满足发货需求,直接发货吧"
            }
          }
        }
      })
@@ -648,6 +672,9 @@
      }
    }
    .basic-info {
      padding: 0px 20px ;
      .product-view{
      }
      .basic-info-title {
        background-color: #f4f8fe;
        padding-left: 10px;
@@ -683,7 +710,6 @@
      .tips{
        font-size: 16px;
        display: flex;
        margin-left: 20px;
        i{
          font-size: 24px;
          margin-right: 10px;
@@ -710,10 +736,33 @@
      background-color: #f5f5f5;
      height: 55px;
      line-height: 55px;
      text-align: right !important;
    }
    .el-input__inner {
      text-align: left;
    }
    // .el-input__inner {
    //   text-align: left;
    // }
  }
  .el-table tr {
    background-color: #fff;
  }
  .el-table th.el-table__cell.is-leaf{
    background-color: #F1F3F8 !important;
  }
  .el-dialog__footer{
    text-align: right !important;
    padding-right: 20px;
  }
  .el-dialog__header {
    background: #f5f7fa;
    height: 50px !important;
    line-height: 50px !important;
    padding: 0;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding-left: 20px !important;
  }
  // .el-table{
  //   border: 1px solid #e1e1e1;
  // }
}
</style>