2023-03-21 iview table 嵌套input

2023-03-21  本文已影响0人  流泪手心_521

this.$set(this.detailList[params.index], '_checked', true) //选中

this.$set(this.detailList[params.index], '_checked', true) //选中

disabled: params.row.totalStockNum==0 //禁用input

this.$set(this.detailList[params.index], '_checked', true) //选中
this.multipleSelection[params.index] = this.detailList[params.index] //自动选中双向绑定

{ title: '领取数量', key: 'takeQuantity', tooltip: true, align: 'center', width: 130,
          render:(h,params) => {
                  return h('Input',{
                      props: {
                          value:  params.row.takeQuantity,
                          type: 'number',
                          placeholder:'领取数量必填',
                          size:'small',
                            disabled: params.row.totalStockNum==0 //禁用input
                      },
                      on: {
                          'on-blur': (event,index) => {
                            let totalStockNum= this.detailList[params.index].totalStockNum
                            //领取数量不能大于库存数量
                            if(event.target.value > totalStockNum){
                                  event.target.value =''
                                  this.$Notice.warning({
                                      title: this.$t('public.title.warningTitle'),
                                      desc: '领取数量不能大于库存数量,请重新输入!'
                                  })
                                  return
                            }
                            //大于0正常  
                            if(event.target.value > 0){
                            params.row.quantity = event.target.value
                              this.detailList[params.index].quantity = Number(event.target.value) //双向绑定
                              this.$set(this.detailList[params.index], '_checked', true) //选中
                              this.multipleSelection[params.index] = this.detailList[params.index] //自动选中双向绑定
                              this.$set(this.detailList[params.index], 'quantity',  Number(event.target.value)) //添加值
                            }else{
                              event.target.value =''
                              this.$Notice.warning({
                                    title: this.$t('public.title.warningTitle'),
                                    desc: '领取数量必须是正整数!'
                                })
                                return
                            }
                          }
                      },
                  })
          }
//给原数组新增属性
 this.$set(rows,{taker:takerArr[0].name,takerId:takerArr[0].name})

let takerArr=this.recipientsList ? this.recipientsList.filter(ele=>ele.id === this.recipientsForm.recipients) : [] //组装领取人id和name
    //组装数据
    let checkedArr = []
    this.multipleSelection.filter(ele => {
        checkedArr.push({
                warehouseCode: ele.warehouseCode,
                warehouseId: ele.warehouseId,
                warehouseName: ele.warehouseName,
                takeQuantity: ele.quantity,
                taker: takerArr[0].name,
                takerId: takerArr[0].id,
                packageMaterialId: ele.id,
                packageMaterialCode: ele.packageMaterialCode,
                packageMaterialName: ele.packageMaterialName,
                packageMaterialType: ele.packageMaterialType
         })
    });
    console.log('参数: ', checkedArr);

checkedArr//想要的数组
上一篇 下一篇

猜你喜欢

热点阅读