廖井涛
2025-11-21 6dd74d6739305ba7ab51c43b83d166bdf9e12c52
north-glass-erp/northglass-erp/src/components/sd/order/OrderSizeCheck.vue
@@ -38,11 +38,11 @@
  keyboardConfig:{
    isArrow: true,
    isDel: true,
    isEnter: true,
    isTab: true,
    isEdit: true,
    isChecked: true,
    enterToTab:true
   // enterToTab:true,
    //isEnter: true,
  },
  customConfig: {
@@ -73,20 +73,18 @@
    if ($grid) {
      switch (code) {
        case 'review' :{
          $grid.clearEdit()
          const $table = xGrid.value.getTableData().fullData
          const $oldTable = props.OrderDetail
          $table.forEach((item,index)=>{
            for(let key in item){
              if(key!=='id' && key!=='_X_ROW_KEY'){
                console.log( key)
                const oldVal = $oldTable.getTableData().fullData[index][key]*1
                if(item[key]!==oldVal){
                if(item[key]*1!==oldVal){
                  item[key] = null
                }
              }
            }
          })
@@ -96,7 +94,7 @@
            ElMessage.error(t('basicData.msg.checkoutLose'))
            return
          }
          emit('getParent')
          //emit('getParent')
          break
        }
      }
@@ -129,15 +127,41 @@
})
const editClosedEvent = ({ row, column,rowIndex}) => {
const editClosedEvent = ({ row, column,rowIndex,columnIndex}) => {
  const $table = props.OrderDetail
  let checkVal = row[column.property]*1
  const oldVal = $table.getTableData().fullData[rowIndex][column.property]*1
  if(checkVal!==oldVal){
    row[column.property]=null
  }
}
const handleKeyDown = (evnt) =>{
  const length = xGrid.value.getTableData().fullData.length
  if(evnt.$event.keyCode === 13 ){
    const { rowIndex,row,column } = xGrid.value.getSelectedCell() || xGrid.value.getEditRecord()
    let nextRowIndex = xGrid.value.getRowIndex(row) + 1
    switch (column.field){
      case 'width':
        xGrid.value.setSelectCell(row, 'height')
        break;
      case 'height':
        xGrid.value.setSelectCell(row, 'quantity')
        break;
      case 'quantity':
        if(nextRowIndex === length){
          return
        }
        const nextRow = xGrid.value.getTableData().fullData[nextRowIndex]
        xGrid.value.setCurrentRow(nextRow)
        xGrid.value.scrollToRow(nextRow)
        xGrid.value.setSelectCell(nextRow, 'width')
        break;
    }
  }
}
</script>
@@ -151,6 +175,7 @@
        v-bind="gridOptions"
        v-on="gridEvents"
        @edit-closed="editClosedEvent"
        @keydown="handleKeyDown"
    >
    </vxe-grid>
  </div>