import Sortable from "sortablejs"; import { putapi } from "@/api/api"; //拖拽组件初始化 function rowDrop(aa, tableData, isshow, cb) { const tbody = document.querySelector(aa); //".el-table__body-wrapper tbody" console.log("tableDatatableData", tableData, isshow, this); Sortable.create(tbody, { handle: ".move", animation: 300, onEnd({ newIndex, oldIndex }) { cb(); const currRow = tableData.splice(oldIndex, 1)[0]; tableData.splice(newIndex, 0, currRow); tableData.map((item, index) => { if (index == newIndex && index == oldIndex) { // console.log(item, "新数据"); } else if (index == oldIndex) { } else if (index == newIndex) { } }); console.log(tableData); console.log(tableData.map((item) => item.displayOrder)); }, }); } //拖拽排序确定方法 //确定拖拽 // function aassertion() { // const result = []; // this.tableData.forEach((item, index) => { // // index 从0开始的, displayOrder从大到小排 // console.log(item.id); // console.log(index); // // const currentDisplayOrder = this.tableData.length -1 // const currentDisplayOrder = this.initTableData[index].displayOrder; // if (item.displayOrder != currentDisplayOrder) { // // 如果它的displayOrder和它当前所在的位置不同代表挪动过位置 // result.push({ id: item.id, displayOrder: currentDisplayOrder }); // } // }); // conlusiondraganddrop({ itemList: result }).then((res) => { // console.log("操作成功"); // this.isshow = true; // this.getlist(); // }); // } function assertions(tableData, initTableData) { const result = []; tableData.forEach((item, index) => { // index 从0开始的, displayOrder从大到小排 console.log(item.id); console.log(index); // const currentDisplayOrder = this.tableData.length -1 const currentDisplayOrder = initTableData[index].displayOrder; if (item.displayOrder != currentDisplayOrder) { // 如果它的displayOrder和它当前所在的位置不同代表挪动过位置 result.push({ id: item.id, displayOrder: currentDisplayOrder }); } console.log("currentDisplayOrder", currentDisplayOrder); console.log("item", item); }); // putapi(url, { itemList: result }).then((res) => { // console.log("操作成功"); // this.isshow = true; // this.getlist(); // }); } export { rowDrop, assertions };