| | |
| | | ] |
| | | }, |
| | | |
| | | rowConfig: {isCurrent: true, isHover: true,height: 30},//鼠标移动或选择高亮 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 30,useKey: true},//鼠标移动或选择高亮 |
| | | virtualScroll: true, // 开启虚拟滚动功能 |
| | | scrollY:{ enabled: true,gt:13 },//开启虚拟滚动 |
| | | //scrollX:{ enabled: true,gt:15 },//开启虚拟滚动 |
| | |
| | | keyboardConfig:{ |
| | | isArrow: true, |
| | | isDel: true, |
| | | isEnter: true, |
| | | isTab: true, |
| | | isEdit: true, |
| | | isChecked: true, |
| | | enterToTab:true |
| | | // enterToTab:true, |
| | | //isEnter: true, |
| | | }, |
| | | |
| | | customConfig: { |
| | |
| | | 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'){ |
| | | const oldVal = $oldTable.getTableData().fullData[index][key]*1 |
| | | if(item[key]*1!==oldVal){ |
| | | item[key] = null |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | |
| | | |
| | | |
| | | const errMap = await $grid.validate(true) |
| | | if (errMap) { |
| | | ElMessage.error(t('basicData.msg.checkoutLose')) |
| | | return |
| | | } |
| | | emit('getParent') |
| | | //emit('getParent') |
| | | break |
| | | } |
| | | } |
| | |
| | | onMounted(()=>{ |
| | | const length = props.OrderDetail.getTableData().fullData.length |
| | | const $grid = xGrid.value |
| | | if(props.orderId !== orderInfo.orderId){ |
| | | if(props.orderId !== orderInfo.orderId || length !== orderInfo.reviewList.length){ |
| | | orderInfo.clearOrderInfo() |
| | | orderInfo.orderId=props.orderId |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | xGrid.value.reloadData(orderInfo.reviewList) |
| | | $grid.reloadData(orderInfo.reviewList) |
| | | |
| | | }) |
| | | |
| | | 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> |
| | |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | @edit-closed="editClosedEvent" |
| | | @keydown="handleKeyDown" |
| | | > |
| | | </vxe-grid> |
| | | </div> |